Files
MoonPro.net/MP-TAB/fixODL.aspx.cs
T
2019-07-13 11:25:56 +02:00

204 lines
4.8 KiB
C#

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();
}
}
/// <summary>
/// idx macchina selezionata
/// </summary>
public string idxMacchinaSession
{
get
{
return memLayer.ML.StringSessionObj("IdxMacchina");
}
set
{
memLayer.ML.setSessionVal("IdxMacchina", value);
}
}
/// <summary>
/// idx macchina selezionata
/// </summary>
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);
}
}
/// <summary>
/// Verifica se la macchina MAIN sia MULTI (da DatiMacchina / redis...)
/// </summary>
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;
}
/// <summary>
/// Se la machcina è MULTI --> mostro selettore
/// </summary>
private void fixSelMacc()
{
divSelMacc.Visible = isMulti;
if (isMulti)
{
// salvo selezione submacc
ddlSubMacc.DataBind();
subMaccSel = ddlSubMacc.SelectedValue;
}
}
/// <summary>
/// Sotto sistema (macchina) selezionato
/// </summary>
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;
}
/// <summary>
/// idx macchina selezionata
/// </summary>
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();
}
/// <summary>
/// Verifica (su tab config) se sia abilitata la gestione flusso RPO (Richieste - Promesse - ODL)
/// </summary>
protected bool enableRPO
{
get
{
return memLayer.ML.cdvb("enableRPO");
}
}
/// <summary>
/// Registra attivazione ODL per macchina corrente...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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");
}
}
}