using MapoDb; using SteamWare; using System; using System.Web.UI; namespace MoonProTablet.WebUserControls { public partial class mod_controlliProd : BaseUserControl { #region Public Events /// /// registrato nuovo valore /// public event EventHandler eh_newVal; /// /// registrato nuovo valore /// public event EventHandler eh_reset; #endregion Public Events #region Public Properties /// /// restituisce css disabled SE odl NON OK... /// public string cssBtnConf { get { return odlOk ? "" : "disabled"; } } /// /// idx macchina selezionata /// public new string idxMacchinaFix { get { string answ = 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); } } /// /// 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 = DataLayerObj.taODL.getByMacchina(idxMacchinaFix)[0].IdxODL; } catch { logger.lg.scriviLog(string.Format("Errore a recuperare ODL per la macchina {0}", idxMacchinaFix), tipoLog.ERROR); } // se ODL > 0 è ok!!! answ = (idxOdl > 0); return answ; } } #endregion Public Properties #region Private Methods 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; } /// /// Se la machcina è MULTI --> mostro selettore /// private void fixSelMacc() { divSelMacc.Visible = isMulti; fixSelMaccControlli(); } private void fixSelMaccControlli() { if (isMulti) { memLayer.ML.setSessionVal("IdxMacchinaControlli", subMaccSel); } else { memLayer.ML.setSessionVal("IdxMacchinaControlli", idxMacchina); } } private void resetControlli() { txtNoteContr.Text = ""; // nascondo! switchBtnConferma(false); divNote.Visible = false; } /// /// 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()); } } } #endregion Private Methods #region Protected Methods 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 { } } } protected void ddlSubMacc_SelectedIndexChanged(object sender, EventArgs e) { subMaccSel = ddlSubMacc.SelectedValue; fixSelMaccControlli(); checkAll(); } protected void lbtKO_Click(object sender, EventArgs e) { divNote.Visible = true; } protected void lbtOK_Click(object sender, EventArgs e) { // se ODL ok... if (odlOk) { // Salvo controllo come OK // sollevo evento! DataLayerObj.taRC.insertQuery(idxMacchinaFix, DataLayerObj.MatrOpr, true, "", DateTime.Now); if (eh_newVal != null) { eh_newVal(this, new EventArgs()); } } resetControlli(); } /// /// salvo produzione /// /// /// protected void lbtSalva_Click(object sender, EventArgs e) { // se ODL ok... if (odlOk) { // salvo controllo KO DataLayerObj.taRC.insertQuery(idxMacchinaFix, DataLayerObj.MatrOpr, false, txtNoteContr.Text.Trim(), DateTime.Now); // sollevo evento! if (eh_newVal != null) { eh_newVal(this, new EventArgs()); } resetControlli(); } } /// /// cambio stato visibilità pannello e testo button /// /// /// protected void lbtShowContr_Click(object sender, EventArgs e) { switchBtnConferma(!lbtOK.Visible); } /// /// caricamento pagina /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { checkAll(); } } #endregion Protected Methods } }