using MapoDb; using SteamWare; using System; using System.Web.UI; namespace MoonProTablet { public partial class fixODL : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { fixSelMacc(); hfIdxMacchina.Value = idxMacchina; fixBtnImpostaODL(); DateTime adesso = DateTime.Now; hfDataTo.Value = adesso.ToString(); hfDataFrom.Value = adesso.AddMonths(-1).ToString(); } } /// /// idx macchina selezionata /// public string idxMacchinaSession { get { return memLayer.ML.StringSessionObj("IdxMacchina"); } set { memLayer.ML.setSessionVal("IdxMacchina", value); } } /// /// idx macchina selezionata /// public string idxMacchina { get { string answ = idxMacchinaSession; // verifico: 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 se la macchina MAIN sia MULTI (da DatiMacchina / redis...) /// protected bool isMulti { get { bool answ = false; answ = DataLayer.isMulti(idxMacchinaSession); return answ; } } 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; checkAll(); } private void checkAll() { fixSelMacc(); hfIdxMacchina.Value = idxMacchina; } /// /// Se la machcina è MULTI --> mostro selettore /// private void fixSelMacc() { divSelMacc.Visible = isMulti; if (isMulti) { // salvo selezione submacc ddlSubMacc.DataBind(); subMaccSel = ddlSubMacc.SelectedValue; } } /// /// Sotto sistema (macchina) selezionato /// public string subMaccSel { get { return memLayer.ML.StringSessionObj("subMaccSel"); } set { memLayer.ML.setSessionVal("subMaccSel", value); } } private void fixBtnImpostaODL() { // verifico se selezionato un ODL sorgente... lbtSetODL.Visible = idxODL > 0; } /// /// idx macchina selezionata /// public int idxODL { get { int answ = 0; try { answ = Convert.ToInt32(ddlODL.SelectedValue); } catch { } return answ; } } protected void ddlODL_SelectedIndexChanged(object sender, EventArgs e) { fixBtnImpostaODL(); } /// /// Verifica (su tab config) se sia abilitata la gestione flusso RPO (Richieste - Promesse - ODL) /// protected bool enableRPO { get { return memLayer.ML.cdvb("enableRPO"); } } /// /// Registra attivazione ODL per macchina corrente... /// /// /// protected void lbtSetODL_Click(object sender, EventArgs e) { if (idxMacchina != "" && idxODL > 0) { if (enableRPO) { // registro ODL retroattivamente... DataLayer.obj.taODL.inizioSetupPromessaPostuma(idxODL, DataLayer.MatrOpr, idxMacchina); } else { // registro ODL retroattivamente... DataLayer.obj.taODL.insPostumo(idxODL, idxMacchina); } } // controllo: se il nuovo ODL è stato registrato --> rimando a pagina ODL/Attrezzaggio... bool odlOk = false; try { // ricalcolo MSE DataLayer.obj.taMSE.getByRefreshData(0); // verifico! int idxODL = DataLayer.obj.taMSE.getByIdxMacchina(idxMacchina)[0].idxODL; odlOk = (idxODL > 0); } catch (Exception exc) { logger.lg.scriviLog(string.Format("Errore recupero ODL corrente da confermare per la macchina {0}{1}{2}", idxMacchina, Environment.NewLine, exc), tipoLog.ERROR); } // forzo COMUNQUE redirect... Response.Redirect("ODL"); } } }