Files
NKC/NKC_WF/OrderManager.aspx.cs
T
2019-12-20 19:02:11 +01:00

142 lines
4.3 KiB
C#

using AppData;
using SteamWare;
using System;
using System.Web.UI;
namespace NKC_WF
{
public partial class OrderManager : BasePage
{
/// <summary>
/// Folder REMOTA x copia verso SQL
/// </summary>
protected string _SqlCopyDir = memLayer.ML.CRS("_SqlCopyDir");
/// <summary>
/// Folder x SQL import
/// </summary>
protected string _SqlImportDir = memLayer.ML.CRS("_SqlImportDir");
/// <summary>
/// Path base x nesting
/// </summary>
protected string cadBaseBath = memLayer.ML.CRS("cadBaseBath");
/// <summary>
/// Path base x server
/// </summary>
protected string srvCadBaseBath = memLayer.ML.CRS("srvCadBaseBath");
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
doUpdate();
}
cmp_batchList.eh_doRefresh += Cmp_batchList_eh_doRefresh;
cmp_fileUpload.eh_doRefresh += Cmp_fileUpload_eh_doRefresh;
cmp_fileUpload.eh_FileUploaded += Cmp_fileUpload_eh_FileUploaded;
}
/// <summary>
/// Ora continuo processing
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Cmp_fileUpload_eh_FileUploaded(object sender, WebUserContols.FileUploadEventArgs e)
{
bool dataValidated = true;
DateTime adesso = DateTime.Now;
string dirFrom = e.LocalPath;
string dirTo = $"{_SqlCopyDir}{adesso.ToString("yyyy-MM")}\\";
string dirImport = $"{_SqlImportDir}{adesso.ToString("yyyy-MM")}\\";
// copio su server SQL
try
{
// copio su SQL...
fileMover.obj.copiaFile(dirFrom, dirTo, e.FileName);
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in Copia SQL file:{Environment.NewLine}{exc}");
DataLayer.man.taEL.insertQuery(DateTime.Now, "Copy CSV", $"{e.BatchName}", $"{e.BatchName}.{e.FileName}", $"Exception: {exc}");
}
// chiamo stored caricamento
DS_App.ImportLogDataTable tabDati = null;
try
{
// chiamo procedura SQL x import...
tabDati = DataLayer.man.taImpLog.importCsvOrd($"{dirImport}", e.FileName, e.BatchName, ";", "\n", "2", 0, 0, 0);
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in IMPORT file:{Environment.NewLine}{exc}");
// salvo log errore...
DataLayer.man.taEL.insertQuery(DateTime.Now, "Upload CSV", $"{e.BatchName}", $"{e.BatchName}.{e.FileName}", $"Exception: {exc}");
dataValidated = false;
}
if (dataValidated)
{
dataValidated = doValidations(e.BatchName);
}
if (!dataValidated)
{
var newBatch = tabDati[0];
// vado ad inserire status NON valido
int batchId = 0;
int.TryParse(e.BatchName, out batchId);
int bStatus = 7;
DataLayer.man.taBL.updateStatus(batchId, bStatus, e.BatchName, -1);
}
doUpdate();
}
/// <summary>
/// Effettua validazione dati
/// </summary>
private bool doValidations(string batchName)
{
bool allOk = true;
// faccio un ciclo su OGNI record Part --> cerco se mancassero dei file dxf...
int batchID = 0;
int.TryParse(batchName, out batchID);
try
{
var tabParts = DataLayer.man.taIL.getByBatch(batchID);
if (tabParts.Count > 0)
{
bool fileOk = false;
string localPath = "";
foreach (var item in tabParts)
{
// cerco file! sostituisco cadBaseBath --> srvCadBaseBath
localPath = item.CadFilePath.Replace(cadBaseBath, srvCadBaseBath);
fileOk = fileMover.obj.fileExist(localPath);
if (!fileOk)
{
DataLayer.man.taEL.insertQuery(DateTime.Now, "I.1", $"{batchName}", $"{localPath}", $"DXF File not found for part {item.ItemExtCode} | {item.ItemDesc}");
allOk = false;
}
}
}
}
catch
{ }
// cerco errori preesistenti
return allOk;
}
private void Cmp_fileUpload_eh_doRefresh(object sender, EventArgs e)
{
doUpdate();
}
private void Cmp_batchList_eh_doRefresh(object sender, EventArgs e)
{
doUpdate();
}
/// <summary>
/// Update interfaccia
/// </summary>
public void doUpdate()
{
}
}
}