using MapoDb; using SteamWare; using System; using System.Web.UI; using System.Web.UI.WebControls; namespace MoonProTablet.WebUserControls { public partial class mod_regScarti : System.Web.UI.UserControl { /// /// registrato nuovo valore /// public event EventHandler eh_newVal; /// /// registrato nuovo valore /// public event EventHandler eh_reset; /// /// caricamento pagina /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { checkAll(); } } private void checkAll() { fixSelMacc(); fixData(); checkOdl(); lblOut.Text = ""; switchBtnConferma(true); lbtShowScarti.Visible = odlOk; lblConfScarti.Visible = !odlOk; } private void fixData() { DateTime adesso = DateTime.Now; txtData.Text = adesso.ToString("yyyy-MM-dd"); txtOra.Text = adesso.ToString("HH:mm"); numPzScarto = 1; } /// /// Num pezzi scarto /// protected int numPzScarto { set { txtNumPz.Text = value.ToString(); } get { int answ = 0; int.TryParse(txtNumPz.Text, out answ); return answ; } } /// /// Verifica se abbia un ODL ATTIVO /// private void checkOdl() { lbtShowScarti.Visible = odlOk; lblConfScarti.Visible = !odlOk; lblMancaODL.Visible = !odlOk; } /// /// Se la machcina è MULTI --> mostro selettore /// private void fixSelMacc() { divSelMacc.Visible = isMulti; fixSelMaccScarti(); } /// /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...) /// protected bool isMulti { get { return DataLayer.isMulti(idxMacchinaSession); } } /// /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...) /// /// /// restituisce css disabled SE odl NON OK... /// public string cssBtnConf { get { return odlOk ? "" : "disabled"; } } /// /// Verifica ODL OK (ovvero caricato x macchina...) /// public bool odlOk { get { bool answ = true; // carico i dati preliminari: ODL int idxOdl = 0; // userò ODL del turno try { idxOdl = DataLayer.obj.taODL.getByMacchinaAperto(idxMacchina)[0].IdxODL; } catch { logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchina), tipoLog.ERROR); } // se ODL > 0 è ok!!! answ = (idxOdl > 0); return answ; } } /// /// idx macchina selezionata /// public string idxMacchina { get { string answ = memLayer.ML.StringSessionObj("IdxMacchina"); // verifoc: se multi uso selettore tendina... if (isMulti) { if (ddlSubMacc.SelectedValue == "") { ddlSubMacc.DataBind(); } if (ddlSubMacc.SelectedValue != "") { answ = ddlSubMacc.SelectedValue; } } return answ; } set { memLayer.ML.setSessionVal("IdxMacchina", value); } } /// /// idx macchina selezionata /// public string idxMacchinaSession { get { return memLayer.ML.StringSessionObj("IdxMacchina"); } set { memLayer.ML.setSessionVal("IdxMacchina", value); } } /// /// cambio stato visibilità pannello e testo button /// /// /// protected void lbtShowContr_Click(object sender, EventArgs e) { switchBtnConferma(!divDetail.Visible); } /// /// determina comportamento btn conferma /// private void switchBtnConferma(bool showConf) { divDetail.Visible = showConf; if (showConf) { lblShowScarti.Text = "Nascondi Registrazione SCARTI"; } else { lblShowScarti.Text = "Mostra Registrazione SCARTI"; // sollevo evento! if (eh_reset != null) { eh_reset(this, new EventArgs()); } } } private void resetControlli() { txtNote.Text = ""; // nascondo! switchBtnConferma(false); } protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e) { subMaccSel = ddlSubMacc.SelectedValue; fixSelMaccScarti(); checkAll(); } private void fixSelMaccScarti() { if (isMulti) { memLayer.ML.setSessionVal("IdxMacchinaScarti", subMaccSel); } else { memLayer.ML.setSessionVal("IdxMacchinaScarti", idxMacchinaSession); } } protected void ddlSubMacc_DataBound(object sender, EventArgs e) { // se ho in memoria un valore LO REIMPOSTO... if (subMaccSel != "") { // provo a preselezionare... try { ddlSubMacc.SelectedValue = subMaccSel; } catch { } } } /// /// Sotto sistema (macchina) selezionato /// public string subMaccSel { get { return memLayer.ML.StringSessionObj("subMaccSel"); } set { memLayer.ML.setSessionVal("subMaccSel", value); } } /// /// salvo produzione /// /// /// protected void lbtSalva_Click(object sender, EventArgs e) { salvaRegScarti("ND"); } /// /// Effettua salvataggio in registro scarti /// private void salvaRegScarti(string causale) { // salvo registrazione scarto... DateTime dataRif = DateTime.Now; try { // ricompongo data dai 2 controlli DateTime dateOnly; DateTime timeOnly; DateTime.TryParse(txtData.Text, out dateOnly); DateTime.TryParse(txtOra.Text, out timeOnly); dataRif = dateOnly.Add(timeOnly.TimeOfDay); } catch { } DataLayer.obj.taRS.insertQuery(idxMacchina, dataRif, causale, numPzScarto, txtNote.Text.Trim(), DataLayer.MatrOpr); // sollevo evento! if (eh_newVal != null) { eh_newVal(this, new EventArgs()); } resetControlli(); } /// /// rimanda alla pagina di dettaglio della macchina scelta /// /// /// protected void hlRegistra_Click(object sender, EventArgs e) { LinkButton lnkbtn = (LinkButton)sender; string causale = ""; try { causale = lnkbtn.CommandArgument; } catch { } // se vuoto metto ND... causale = (causale == "") ? "ND" : causale; salvaRegScarti(causale); // sollevo evento! if (eh_newVal != null) { eh_newVal(this, new EventArgs()); } } protected void lbtResetNumPz_Click(object sender, EventArgs e) { txtNumPz.Text = ""; } } }