using SteamWare;
using System;
namespace MP_ADM.WebUserControls
{
public partial class mod_gestKIT : BaseUserControl
{
public event EventHandler eh_selKit;
#region setup VARS
///
/// RegExp x RESET / CANCEL
///
protected string regExp_KO = memLayer.ML.cdv("regExp_KO");
///
/// RegExp x CONFERMA
///
protected string regExp_OK = memLayer.ML.cdv("regExp_OK");
///
/// RegExp x START KIT
///
protected string regExp_KitStart = memLayer.ML.cdv("regExp_KitStart");
///
/// RegExp x SAVE KIT
///
protected string regExp_KitSave = memLayer.ML.cdv("regExp_KitSave");
#endregion setup VARS
#region variabili in sessione
public string codKitTemp
{
get
{
return memLayer.ML.StringSessionObj(string.Format("codKitTemp_{0}", uid));
}
set
{
memLayer.ML.setSessionVal(string.Format("codKitTemp_{0}", uid), value);
hlCodKitTemp.Value = value;
grViewWSK.DataBind();
}
}
///
/// Ultimo Codice KIT creato
///
public string lastKitMade
{
get
{
return memLayer.ML.StringSessionObj("lastKitMade");
}
set
{
memLayer.ML.setSessionVal("lastKitMade", value);
}
}
///
/// Aggiunge (in obj OrdineKit) l'ordine coi parametri indicati
///
///
///
///
///
///
public bool addOrdArt(string codOrd, string codArt, string descArt, int qta)
{
bool answ = false;
// verifico di avere un codiceKIT
checkCodKit();
// salvo info x il cod temporaneo...
DataLayerObj.taWKS.insertQuery(codKitTemp, codOrd, codArt, descArt, qta);
// verifico SE HO un KIT riconosciuto e quindi un CodArt di KIT valido...
string currCodArtKit = "###";
var TksTab = DataLayerObj.taTKS.GetData(codKitTemp, 1);
bool showPODL = false;
if (TksTab.Rows.Count > 0)
{
// verifico se ho aderenza 100%...
if (TksTab[0].TotalScore == 1)
{
currCodArtKit = TksTab[0].CodArtParent;
showPODL = true;
}
}
hfCodArtKit.Value = currCodArtKit;
divPODL.Visible = showPODL;
answ = true;
grViewWSK.DataBind();
grViewKitSel.DataBind();
grViewPODL.DataBind();
grViewIstanzeKIT.DataBind();
return answ;
}
#endregion variabili in sessione
///
/// Caricamento pagina
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
bool OptAdmKitEnabled = memLayer.ML.CRB("OptAdmKitEnabled");
if (!Page.IsPostBack && OptAdmKitEnabled)
{
doReset();
}
}
///
/// Ultimo input registrato
///
public string lastInput
{
get
{
return hlLastInput.Value;
}
set
{
hlLastInput.Value = value;
}
}
///
/// Aggiorno controllo secondo ULTIMO input
///
public void doUpdate()
{
// aggiorno label...
messOut = "";
// controllo input (reset/inizio o salva...)
if (lastInput == regExp_KO)
{
// resetto dati
doReset();
messOut = "Effettuato reset!";
}
else if (lastInput == regExp_KitStart)
{
// resetto dati
doReset();
messOut = "Inizio configurazione KIT";
}
else if (lastInput == regExp_KitSave)
{
// controllo SE HO un kit selezionato...
string currCodArtKit = "###";
var TksTab = DataLayerObj.taTKS.GetData(codKitTemp, 1);
bool showPODL = false;
if (TksTab.Rows.Count > 0)
{
// verifico se ho aderenza 100%...
if (TksTab[0].TotalScore == 1)
{
currCodArtKit = TksTab[0].CodArtParent;
showPODL = true;
}
}
if (showPODL)
{
// in questo caso creo istanza!
creazioneIstanzaKit(currCodArtKit);
}
}
else if (lastInput == regExp_OK)
{
}
// ennesimo check cod TEMP
checkCodKit();
}
private void doReset()
{
// elimino eventuali record ODL
DataLayerObj.taWKS.deleteQuery(codKitTemp);
codKitTemp = "";
divPODL.Visible = false;
checkCodKit();
}
///
/// Verifico SE HO un codKit Temporaneo sennĂ² lo creo...
///
private void checkCodKit()
{
if (codKitTemp == "")
{
// genero un NUOVO cod temp kit...
codKitTemp = string.Format("KIT_{0:yyMMdd_HHmmss}", DateTime.Now);
}
}
public string messOut
{
set
{
lblOut.Text = value;
}
get
{
return lblOut.Text;
}
}
protected void grViewKitSel_SelectedIndexChanged(object sender, EventArgs e)
{
// se ho selezionato recupero CHIAVE = CodArticolo del KIT
string CodArtParent = grViewKitSel.SelectedValue.ToString();
// crea KIT x quel CodArtParent...
creazioneIstanzaKit(CodArtParent);
}
///
/// Crea una NUOVA istanza KIT
///
/// CodArt dell'Assieme/KIT
private void creazioneIstanzaKit(string CodArtParent)
{
// calcolo NUOVO codice kit...
var tabKey = DataLayerObj.taIstK.getNewKey();
if (tabKey.Rows.Count == 1)
{
// stacco un NUOVO codice KIT
lastKitMade = tabKey[0].KeyKit;
// inserisco ISTANZA KIT!
DataLayerObj.taIstK.insertByWKS(lastKitMade, CodArtParent, codKitTemp);
// faccio reset valori WKS...
doReset();
// ora resetto ordine caricato...
messOut = string.Format("Creato NUOVA P.ODL cod {0} per il KIT {1}", lastKitMade, CodArtParent);
// sollevo evento x impostare lettura KIT a BARCODE (x conferma successiva...)
// sollevo evento nuovo valore...
if (eh_selKit != null)
{
eh_selKit(this, new EventArgs());
}
}
}
}
}