Completata modifica con macchina a stati + nuove tab...

#fixed 902

git-svn-id: https://keyhammer.ath.cx/svn/XPS/trunk@63 43c8e981-f90d-406c-a89a-24a2c4268d51
This commit is contained in:
samuele
2008-11-05 14:48:03 +00:00
parent 3ce166a276
commit c59892ed6f
3 changed files with 23 additions and 50 deletions
+11
View File
@@ -850,6 +850,17 @@ WHERE (TraEv2Stati.CodEvento = @CodEvento)</CommandText>
<Mapping SourceColumn="descrComando" DataSetColumn="descrComando" />
</Mappings>
<Sources>
<DbSource ConnectionRef="SteamWare_XPSConnectionString1 (Web.config)" DbObjectName="SteamWare_XPS.dbo.TraEv2Stati" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByCodMappa" GetMethodModifier="Public" GetMethodName="getByCodMappa" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByCodMappa" UserSourceName="getByCodMappa">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT CodMappa, CodObj, CodStato, CodEvento, NextCodStato, CmdPlugin, text2show, descrComando FROM dbo.TraEv2Stati
where CodMappa=@CodMappa</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="CodMappa" ColumnName="CodMappa" DataSourceName="SteamWare_XPS.dbo.TraEv2Stati" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@CodMappa" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="CodMappa" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="SteamWare_XPSConnectionString1 (Web.config)" DbObjectName="SteamWare_XPS.dbo.TraEv2Stati" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByKey" GeneratorSourceName="FillBy" GetMethodModifier="Public" GetMethodName="getByKey" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByKey" UserSourceName="getByKey">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
+1 -1
View File
@@ -17,7 +17,7 @@
<Shape ID="DesignTable:TransizioneEventi" ZOrder="7" X="1091" Y="667" Height="156" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="109" />
<Shape ID="DesignTable:AnagraficaEventi" ZOrder="6" X="1083" Y="899" Height="139" Width="238" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="75" />
<Shape ID="DesignTable:Eventi" ZOrder="1" X="461" Y="806" Height="156" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" />
<Shape ID="DesignTable:TraEv2Stati" ZOrder="3" X="744" Y="769" Height="224" Width="232" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
<Shape ID="DesignTable:TraEv2Stati" ZOrder="3" X="744" Y="769" Height="241" Width="247" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="160" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:FK_Tratt2Obj_AnagTrattamenti" ZOrder="15" LineWidth="11">
+11 -49
View File
@@ -35,13 +35,12 @@ public partial class barcode : System.Web.UI.Page
/// </summary>
private void setupComandiBarcode()
{
// !!! RIFARE CON LE TAB NUOVE...
DS_applicazioneTableAdapters.TransizioneEventiTableAdapter taTran = new DS_applicazioneTableAdapters.TransizioneEventiTableAdapter();
DS_applicazione.TransizioneEventiDataTable _tabTran = taTran.GetData();
DS_applicazioneTableAdapters.TraEv2StatiTableAdapter taTrEv2St = new DS_applicazioneTableAdapters.TraEv2StatiTableAdapter();
DS_applicazione.TraEv2StatiDataTable _tabTran = taTrEv2St.getByCodMappa("E_BC");
Dictionary<string, string> comandi = new Dictionary<string, string>();
foreach (DS_applicazione.TransizioneEventiRow riga in _tabTran)
foreach (DS_applicazione.TraEv2StatiRow riga in _tabTran)
{
comandi.Add(riga.codInviato, user_std.UtSn.Traduci(riga.text2show));
comandi.Add(riga.CodEvento, user_std.UtSn.Traduci(riga.text2show));
}
// impongo i comandi al barcode...
mod_barcode1.comandiAmmessi = comandi;
@@ -95,24 +94,22 @@ public partial class barcode : System.Web.UI.Page
{
// in primis: sono in esecuzione, x cui il comando è valido...
string msg2show = "";
// invio richiesta al gestore della state machine e in risposta avrò un oggetto esito
string currState = "";
DS_applicazione.IstObjRow rigaIstObj;
// calcolo lo stato dell'oggetto...
try
{
currState = XPS.obj.taObj.getByIdxObj(mod_barcode1.comandoRegistrato.valore)[0].CodStato;
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);
// reset e mostro output...
mod_barcode1.resetMe();
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)
else if (esito == tipoEsito.error)
{
msg2show = user_std.UtSn.Traduci("cannotStateChange");
}
@@ -120,44 +117,9 @@ public partial class barcode : System.Web.UI.Page
{
msg2show = user_std.UtSn.Traduci("unknownCmd");
}
if (msg2show != "") mod_barcode1.txtInput2show = msg2show;
#if false
// lookUp tabella transizione...
string toDo = "";
DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter taAE = new DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter();
try
{
toDo = taAE.getByCodInviato(mod_barcode1.comandoRegistrato.prevCmdIn)[0].Nome;
}
catch
{ }
DS_applicazioneTableAdapters.IstObjTableAdapter taIstObj = new DS_applicazioneTableAdapters.IstObjTableAdapter();
string msg2show = "";
// in base al contenuto del comando scelgo cosa fare...
switch (toDo)
{
case "Barcode - cambio stato":
// verifico se lo stato sia corretto (cioè successivo a quello corrente...)
if (chkCommandValid(mod_barcode1.comandoRegistrato.valore, mod_barcode1.comandoRegistrato.prevCmdIn))
{
string codObjCommon = mod_barcode1.comandoRegistrato.valore.Replace("D", "%");
XPS.obj.taObj.UpdStatoTree(mod_barcode1.comandoRegistrato.prevCmdIn, user_std.UtSn.utente, DateTime.Now, codObjCommon);
msg2show = string.Format("{0}: {1}", mod_barcode1.comandoRegistrato.valore, user_std.UtSn.Traduci("chgStateDone"));
}
else // altrimenti segnalo errore...
{
msg2show = user_std.UtSn.Traduci("cannotStateChange");
}
break;
case "Barcode - interrogazione":
// mostro il dettaglio direttamente in detComm.aspx
break;
default:
break;
}
// reset e mostro output...
mod_barcode1.resetMe();
if (msg2show != "") mod_barcode1.txtInput2show = msg2show;
#endif
if (msg2show != "") mod_barcode1.txtInput2show = msg2show;
}
/// <summary>
/// verifica se il comando richiesto sia corretto, ovvero che si stia avanzando di 1 solo stato rispetto a quello corrente...