using MapoDb; using SteamWare; using System; namespace MoonProAdmin.WebUserControls { public partial class mod_gestKIT : System.Web.UI.UserControl { 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 #region variabili in sessione /// /// UID formattato con "_" /// public string uid { get { return this.UniqueID.Replace("$", "_").Replace("-", "_"); } } /// /// titolo pagina /// public string titolo { get { return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", ""); } } 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... DataLayer.obj.taWKS.insertQuery(codKitTemp, codOrd, codArt, descArt, qta); // verifico SE HO un KIT riconosciuto e quindi un CodArt di KIT valido... string currCodArtKit = "###"; var TksTab = DataLayer.obj.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 /// /// Caricamento pagina /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { 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 = DataLayer.obj.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 DataLayer.obj.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 = DataLayer.obj.taIstK.getNewKey(); if (tabKey.Rows.Count == 1) { // stacco un NUOVO codice KIT lastKitMade = tabKey[0].KeyKit; // inserisco ISTANZA KIT! DataLayer.obj.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()); } } } } }