using Newtonsoft.Json; using SteamWare; using System; using System.Collections.Generic; using System.Text; namespace MoonProAdmin.WebUserControls { public partial class mod_gestKIT : System.Web.UI.UserControl { #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("-", "_"); } } public string codArt { get { return memLayer.ML.StringSessionObj(string.Format("codArt_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("codArt_{0}", uid), value); } } public string descArt { get { return memLayer.ML.StringSessionObj(string.Format("descArt_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("descArt_{0}", uid), value); } } public string kitCode { get { return memLayer.ML.StringSessionObj(string.Format("kitCode_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("kitCode_{0}", uid), value); } } public string codOrd { get { return memLayer.ML.StringSessionObj(string.Format("codOrd_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("codOrd_{0}", uid), value); } } public int qta { get { return memLayer.ML.IntSessionObj(string.Format("qta_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("qta_{0}", uid), value); } } public string idxMacc { get { return memLayer.ML.StringSessionObj(string.Format("idxMacc_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("idxMacc_{0}", uid), value); } } public string nomeMacc { get { return memLayer.ML.StringSessionObj(string.Format("nomeMacc_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("nomeMacc_{0}", uid), value); } } public string codGruppo { get { return memLayer.ML.StringSessionObj(string.Format("codGruppo_{0}", uid)); } set { memLayer.ML.setSessionVal(string.Format("codGruppo_{0}", uid), value); } } /// /// titolo pagina /// public string titolo { get { return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", ""); } } /// /// Oggetto KIT in composizione gestito in sessione /// public OrdineProdKit OrdineKit { get { OrdineProdKit answ; string serVal = memLayer.ML.StringSessionObj(string.Format("OrdineKit_{0}", uid)); // deserializzo SE C'E'... if (serVal != "") { //var objDeser = memLayer.ML.deserializeVal(serVal); //answ = (OrdineProdKit)objDeser; answ = JsonConvert.DeserializeObject(serVal); } else { answ = new OrdineProdKit(); } return answ; } set { // serializzo... string serVal = memLayer.ML.serializeVal(value); //string serVal = JsonConvert.SerializeObject(value); // salvo memLayer.ML.setSessionVal(string.Format("OrdineKit_{0}", uid), serVal); } } /// /// Aggiunge (in obj OrdineKit) l'ordine coi parametri indicati /// /// /// /// /// /// public bool addOrdArt(string codOrd, string codArt, string descArt, int qta) { bool answ = false; var currOrd = OrdineKit; // creo oggetto articolo Articolo newArt = new Articolo { Codice = codArt, Descrizione = descArt }; // creo un nuovo oggetto OrdineArticolo OrdineProdArt newOrdArt = new OrdineProdArt { OrdNum = codOrd, ArtOrd = newArt, Qta = qta }; var orderList = new List(); // se nullo inizializzo... if (currOrd == null || currOrd.Codice == null) { orderList.Add(newOrdArt); currOrd = new OrdineProdKit { OrdNum = "000000", Codice = "KIT_UNKNOWN", Qta = 1, OrdiniArt = orderList }; } else { // cerco duplicato... int idx = currOrd.OrdiniArt.FindIndex(x => x.OrdNum.Equals(codOrd)); if (idx >= 0) { // se ci fosse riga la cancello... currOrd.OrdiniArt.RemoveAt(idx); } // aggiungo SOLO la riga articolo currOrd.OrdiniArt.Add(newOrdArt); } // salvo ordine... OrdineKit = currOrd; answ = true; return answ; } #endregion /// /// Caricamento pagina /// /// /// protected void Page_Load(object sender, EventArgs e) { } /// /// 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) { } else if (lastInput == regExp_OK) { } //riporto gli ordini caricati... StringBuilder sb = new StringBuilder(); var currOrd = OrdineKit; if (currOrd != null && currOrd.Codice != null) { sb.AppendLine(string.Format("OrdNum:{0}, TemplateKIT: {1}, Qta: {2}
", currOrd.OrdNum, currOrd.Codice, currOrd.Qta)); foreach (var item in OrdineKit.OrdiniArt) { sb.AppendLine(string.Format("OrdNum:{0}, CodArt: {1}, Descr: {2}, Qta: {3}
", item.OrdNum, item.ArtOrd.Codice, item.ArtOrd.Descrizione, item.Qta)); } } // accodo... messOut += sb.ToString(); } private void doReset() { codOrd = ""; codArt = ""; kitCode = ""; qta = 0; descArt = ""; OrdineKit = new OrdineProdKit(); } public string messOut { set { lblOut.Text = value; } get { return lblOut.Text; } } } }