using MapoDb; using SteamWare; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MoonProTablet.WebUserControls { public partial class mod_controlliProd : 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(); checkOdl(); lblOut.Text = ""; switchBtnConferma(false); lbtShowContr.Visible = odlOk; lblConfProd.Visible = !odlOk; } /// /// Verifica se abbia un ODL ATTIVO /// private void checkOdl() { lbtShowContr.Visible = odlOk; lblConfProd.Visible = !odlOk; lblMancaODL.Visible = !odlOk; } /// /// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...) /// protected bool isMulti { get { return DataLayer.isMulti(idxMacchinaSession); } } /// /// Se la machcina è MULTI --> mostro selettore /// private void fixSelMacc() { divSelMacc.Visible = isMulti; } /// /// 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(!lbtOK.Visible); } /// /// determina comportamento btn conferma /// private void switchBtnConferma(bool showConf) { lbtOK.Visible = showConf; lbtKO.Visible = showConf; lbtSalva.Visible = showConf; if (showConf) { lblShowContr.Text = "Nascondi Controllo"; } else { lblShowContr.Text = "Registra Controllo"; // sollevo evento! if (eh_reset != null) { eh_reset(this, new EventArgs()); } } } /// /// salvo produzione /// /// /// protected void lbtSalva_Click(object sender, EventArgs e) { // salvo controllo KO DataLayer.obj.taRC.insertQuery(idxMacchina, DataLayer.MatrOpr, false, txtNoteContr.Text.Trim(), DateTime.Now); // sollevo evento! if (eh_newVal != null) { eh_newVal(this, new EventArgs()); } resetControlli(); } private void resetControlli() { txtNoteContr.Text = ""; // nascondo! switchBtnConferma(false); divNote.Visible = false; } protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e) { subMaccSel = ddlSubMacc.SelectedValue; checkAll(); } 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); } } protected void lbtOK_Click(object sender, EventArgs e) { // Salvo controllo come OK DataLayer.obj.taRC.insertQuery(idxMacchina, DataLayer.MatrOpr, true, "", DateTime.Now); // sollevo evento! if (eh_newVal != null) { eh_newVal(this, new EventArgs()); } resetControlli(); } protected void lbtKO_Click(object sender, EventArgs e) { divNote.Visible = true; } } }