Files
NKC/NKC_WF/OrderManager.aspx.cs
T
2019-11-28 18:16:26 +01:00

180 lines
4.5 KiB
C#

using AppData;
using SteamWare;
using System;
using System.Web.UI;
namespace NKC_WF
{
public partial class OrderManager : System.Web.UI.Page
{
#if false
/// <summary>
/// Hash redis per il canale di comunicazione dei comandi
/// </summary>
protected string batchCmdChannel = "NKC:CMD:batchReq";
/// <summary>
/// Hash redis per il canale di comunicazione dei batch da eseguire
/// </summary>
protected string batchOutChannel = "NKC:OUT:batchReq";
/// <summary>
/// Hash redis per il canale di comunicazione dei batch eseguiti/in esecuzione
/// </summary>
protected string batchInChannel = "NKC:IN:batchReq";
#endif
/// <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");
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;
}
/// <summary>
/// Ora continuo processing
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<Part>();
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>();
Kit divano = new Kit()
{
PartList = articoli
};
divani.Add(divano);
var ordini = new List<Order>();
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);
}
}
/// <summary>
/// ID del batch corrente
/// </summary>
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
}
}