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