using AppData; using NKC_SDK; using SteamWare; using System; using System.Data; using System.Linq; namespace NKC_WF.WebUserControls { public partial class cmp_MU_carts : BaseUserControl { /// /// Batch corrente... /// public int BatchId { set { hfBatchID.Value = value.ToString(); doUpdate(); } get { int answ = 0; int.TryParse(hfBatchID.Value, out answ); return answ; } } /// /// Indica se mostrare o meno QRCode /// public bool ShowQr { set { hfShowQr.Value = value.ToString(); } get { bool answ = false; bool.TryParse(hfShowQr.Value, out answ); return answ; } } /// /// Dimensione QRCode /// public int qrSize { get { int answ = 32; int.TryParse(hfQrSize.Value, out answ); return answ; } set { hfQrSize.Value = value.ToString(); doUpdate(); } } /// /// Indica se mostrare o meno button PRINT /// public bool ShowPrint { set { hfShowPrint.Value = value.ToString(); } get { bool answ = false; bool.TryParse(hfShowPrint.Value, out answ); return answ; } } /// /// CartId selezionato /// public int selCartId { get { int answ = 0; int.TryParse(grView.SelectedValue.ToString(), out answ); return answ; } } /// /// Queue selezionata /// public string currQueue { get { return hfPrintQueue.Value; } set { hfPrintQueue.Value = value; } } /// /// Queue selezionata x SpecialParts /// public string currQueueSP { get { return hfPrintQueueSP.Value; } set { hfPrintQueueSP.Value = value; } } /// /// Macchina selezionata /// public string MachineSel { get { return hfMachineSel.Value; } set { hfMachineSel.Value = value; currQueue = DLMan.getPrinter($"{value}-UNLOAD"); currQueueSP = DLMan.getPrinter($"{value}-SPECIALPART"); } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { currQueue = DLMan.getPrinter($"{MachineSel}-UNLOAD"); currQueueSP = DLMan.getPrinter($"{MachineSel}-SPECIALPART"); } } public void doUpdate() { grView.DataBind(); } /// /// Alla selezione mando in stampa il singolo record /// /// /// protected void grView_SelectedIndexChanged(object sender, EventArgs e) { // invio SINGOLO record in stampa DLMan.stampaDoc(selCartId.ToString(), currQueue, tipoDocumento.docCart, Request.UserHostName); // verifico eventuale stampa speciale checkSpecialPrint(selCartId); // reset doReset(); } /// /// Verifica se il cartellino corrente richieda una stampa speciale coem epr CANYON /// - se il model fa parte di quelli gestiti in tab Special Part /// - in tal caso inserisce un record di stampa del formato speciale dato il cartId /// /// private void checkSpecialPrint(int cartId) { /*************************************** * 2022.10.26 gestione CANYON/SpecialPart * * - recupero tab SpecialPart da DB/cache * - recupero dati da stored CartKitDetail: exec stp_CKD_getByKey CartID * - verifico SE da CKD trovo un model di quelli gestiti --> in tal caso invio richiesta stampa ***************************************/ bool isSpecial = false; int rowsFound = 0; // cerco se trovo righe lanciando report stampa SpecPArt dato CartID... var tabSpecPart = DLMan.taRepSpecPart.GetData(cartId,"", ""); if (tabSpecPart != null) { rowsFound = tabSpecPart.Rows.Count; isSpecial = rowsFound > 0; } // se ho verificato essere speciale il CART... if (isSpecial) { lgInfo($"checkSpecialPrint: IS SPECIAL!!!"); // invio SINGOLO record in stampa (che poi stamperà + pagine, 1 x item) DLMan.stampaDoc($"{cartId}", currQueueSP, tipoDocumento.docCartSpecialPart, Request.UserHostName); } else { // FixMe ToDo: eliminare quando non + necessario check log lgInfo($"checkSpecialPrint: CartID: {cartId} | tabSpecPart NOT null: {tabSpecPart != null} | numRows: {rowsFound}"); } } /// /// comando stampa tutti i carts del batch /// /// /// protected void lbtPrintAll_Click(object sender, EventArgs e) { // chiamo stored x stampare OGNI cart del BATCH var tabCarts = DLMan.taCR.getByBatch(BatchId); try { if (tabCarts != null && tabCarts.Count > 0) { foreach (var item in tabCarts) { // invio SINGOLO record in stampa DLMan.stampaDoc(item.CartID.ToString(), currQueue, tipoDocumento.docCart, Request.UserHostName); // verifico eventuale stampa speciale checkSpecialPrint(item.CartID); } } } catch { } // reset doReset(); } private void doReset() { // resetto grView.SelectedIndex = -1; grView.DataBind(); } } }