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
}
}