using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SteamWare; public partial class barcode : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { setupComandiBarcode(); setupValoriBarcode(); mod_barcode1.eh_comandoRegistrato += new EventHandler(mod_barcode1_eh_comandoRegistrato); } /// /// effettuo il setup dei valori ammessi x il barcode... /// private void setupValoriBarcode() { DS_applicazioneTableAdapters.v_commesseTableAdapter taCommesse = new DS_applicazioneTableAdapters.v_commesseTableAdapter(); DS_applicazione.v_commesseDataTable _tabComm = taCommesse.GetData(); Dictionary valori = new Dictionary(); // aggiungo i DDT... foreach (DS_applicazione.v_commesseRow riga in _tabComm) { // QUI formattazione campi mostrati a barcode valori.Add(riga.Cod.ToString(), string.Format("{0} - {7}
{1} DDT {2} del {3:dd MMM yyyy}
{4} colli ({5} kg)
{6}", riga.Cod, riga.Cliente, riga.DDT, riga.DataDDT, riga.Colli, riga.Peso, riga.Stato, riga.CodCli)); } // ora aggiungo i singoli ULP... DS_applicazioneTableAdapters.v_ULPTableAdapter taULP = new DS_applicazioneTableAdapters.v_ULPTableAdapter(); DS_applicazione.v_ULPDataTable _tabUlp = taULP.GetData(); // aggiungo colli (ULP)... foreach (DS_applicazione.v_ULPRow riga in _tabUlp) { // QUI formattazione campi mostrati a barcode valori.Add(riga.Cod.ToString(), string.Format("{0} - {7}
{1} DDT {2} del {3:dd MMM yyyy}
nr {4} items ({5} kg)
{6}", riga.Cod, riga.Cliente, riga.DDT, riga.DataDDT, riga.Qta, riga.Peso, riga.Stato, riga.CodCli)); } // assegno valori al barcode... mod_barcode1.tabValori = valori; } /// /// carico da tab i comandi ammessi per il barcode... /// private void setupComandiBarcode() { DS_applicazioneTableAdapters.TraEv2StatiTableAdapter taTrEv2St = new DS_applicazioneTableAdapters.TraEv2StatiTableAdapter(); DS_applicazione.TraEv2StatiDataTable _tabTran = taTrEv2St.getByCodMappa("E_BC"); Dictionary comandi = new Dictionary(); foreach (DS_applicazione.TraEv2StatiRow riga in _tabTran) { comandi.Add(riga.CodEvento, user_std.UtSn.Traduci(riga.text2show)); } // impongo i comandi al barcode... mod_barcode1.comandiAmmessi = comandi; } /// /// il barcode ha registrato un evento... /// /// /// void mod_barcode1_eh_comandoRegistrato(object sender, EventArgs e) { switch (stateMachine.st.azioneComando(mod_barcode1.comandoRegistrato)) { case tipoAzione.annulla: mod_barcode1.resetMe(); break; case tipoAzione.conferma: // se input completo eseguo... if (mod_barcode1.comandoRegistrato.currCmdIn != "" && mod_barcode1.comandoRegistrato.valore != "") { eseguiComando(); } else // altrimenti warning... e rimetto valori precedenti { mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); mod_barcode1.comandoRegistrato.currCmdIn = mod_barcode1.comandoRegistrato.prevCmdIn; mod_barcode1.comandoRegistrato.descrComando = mod_barcode1.comandoRegistrato.descrComandoPrev; mod_barcode1.txtInput2show = mod_barcode1.comandoRegistrato.descrComandoPrev; } break; case tipoAzione.esegui: if (mod_barcode1.comandoRegistrato.valore != "") { mod_barcode1.txtRich2show = user_std.UtSn.Traduci("pleaseConfirm"); } else { mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); } break; case tipoAzione.noAct: break; default: break; } } /// /// eseguo il comando /// private void eseguiComando() { // in primis: sono in esecuzione, x cui il comando è valido... string msg2show = ""; string currState = ""; DS_applicazione.IstObjRow rigaIstObj; // calcolo lo stato dell'oggetto... try { rigaIstObj = XPS.obj.taObj.getByIdxObj(mod_barcode1.comandoRegistrato.valore)[0]; currState = rigaIstObj.CodStato; } catch { } tipoEsito esito = stateMachine.st.doAction("E_Stati", mod_barcode1.comandoRegistrato.valore, currState, mod_barcode1.comandoRegistrato.prevCmdIn); if (esito == tipoEsito.ok) { msg2show = string.Format("{0}: {1}", mod_barcode1.comandoRegistrato.valore, user_std.UtSn.Traduci("chgStateDone")); } else if (esito == tipoEsito.error) { msg2show = user_std.UtSn.Traduci("cannotStateChange"); } else { msg2show = user_std.UtSn.Traduci("unknownCmd"); } // reset e mostro output... mod_barcode1.resetMe(); if (msg2show != "") mod_barcode1.txtInput2show = msg2show; } protected override void OnUnload(EventArgs e) { base.OnUnload(e); mod_barcode1.eh_comandoRegistrato -= new EventHandler(mod_barcode1_eh_comandoRegistrato); } }