using AppData; using SteamWare; using System; using System.Web.UI; namespace NKC_WF { public partial class OrderManager : System.Web.UI.Page { #if false /// /// Hash redis per il canale di comunicazione dei comandi /// protected string batchCmdChannel = "NKC:CMD:batchReq"; /// /// Hash redis per il canale di comunicazione dei batch da eseguire /// protected string batchOutChannel = "NKC:OUT:batchReq"; /// /// Hash redis per il canale di comunicazione dei batch eseguiti/in esecuzione /// protected string batchInChannel = "NKC:IN:batchReq"; #endif /// /// Folder REMOTA x copia verso SQL /// protected string _SqlCopyDir = memLayer.ML.CRS("_SqlCopyDir"); /// /// Folder x SQL import /// protected string _SqlImportDir = memLayer.ML.CRS("_SqlImportDir"); protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { doUpdate(); #if false processPending(); checkVisibility(); #endif } cmp_batchList.eh_doRefresh += Cmp_batchList_eh_doRefresh; cmp_fileUpload.eh_doRefresh += Cmp_fileUpload_eh_doRefresh; cmp_fileUpload.eh_FileUploaded += Cmp_fileUpload_eh_FileUploaded; } /// /// Ora continuo processing /// /// /// private void Cmp_fileUpload_eh_FileUploaded(object sender, WebUserContols.FileUploadEventArgs e) { 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}"); } // chiamo stored caricamento try { // chiamo procedura SQL x import... 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}"); } doUpdate(); } private void Cmp_fileUpload_eh_doRefresh(object sender, EventArgs e) { doUpdate(); #if false checkVisibility(); #endif } private void Cmp_batchList_eh_doRefresh(object sender, EventArgs e) { doUpdate(); #if false checkVisibility(); #endif } public void doUpdate() { } #if false private void processPending() { // se trova batch non riportati in REDIS li scrive x richiedere processing string batchKey = $"{batchOutChannel}:{currBatchID}"; bool reqPresent = !string.IsNullOrEmpty(memLayer.ML.getRSV(batchKey)); if (!reqPresent) { // !!!FIXME!!! leggere da DB!!! var articoli = new List(); var articolo = new Part() { PartId = 1, PartExtCode = "abc.2345", MatId = 2, PartQty = 2, CadFilePath = @"c:\temp\prova.dxf" }; articoli.Add(articolo); var divani = new List(); Kit divano = new Kit() { PartList = articoli }; divani.Add(divano); var ordini = new List(); Order ordine = new Order() { OrderCod = "abcde", OrderExtCode = "HFA_123456", DestPlant = "Striker", //OrderQty = 1, KitList = divani }; ordini.Add(ordine); var currBatch = new batchRequest { BatchId = currBatchID, OrderList = ordini } ; string payload = JsonConvert.SerializeObject(currBatch); memLayer.ML.setRSV(batchKey, payload); } } /// /// ID del batch corrente /// protected int currBatchID { get { int answ = 0; if (memLayer.ML.isInSessionObject("BatchID")) { answ = memLayer.ML.IntSessionObj("BatchID"); } return answ; } } private void checkVisibility() { bool hasBatch = false; if (currBatchID > 0) { hasBatch = true; } divStatus.Visible = hasBatch; } #endif } }