Files
NKC/NKC_WF/WebUserControls/cmp_batchList.ascx.cs
T

232 lines
6.0 KiB
C#

using AppData;
using NKC_SDK;
using SteamWare;
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_batchList : BaseUserControl
{
/// <summary>
/// modalità funzionamento controllo
/// </summary>
public BatchListMode listMode { get; set; } = BatchListMode.Standard;
/// <summary>
/// Caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
divDetail.Visible = false;
// in base al ListMode decido cosa mostrare...
checkFixMode();
}
cmp_batchDetail.eh_doRefresh += Cmp_batchDetail_eh_doRefresh;
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
}
/// <summary>
/// In base al modo richiesto imposta filtraggi...
/// </summary>
private void checkFixMode()
{
ListItem currItem = null;
int valore = -100;
if (listMode == BatchListMode.Standard)
{
ods.FilterExpression = " STATUS < 8 ";
foreach (var item in ddlStatus.Items)
{
try
{
currItem = (ListItem)item;
int.TryParse(currItem.Value, out valore);
if (valore > 7)
{
currItem.Enabled = false;
}
}
catch
{ }
}
hlPartValidation.Visible = true;
lbtValidateMissing.Visible = false;
lbtRevalidate.Visible = false;
}
else
{
ods.FilterExpression = " STATUS > 7";
foreach (var item in ddlStatus.Items)
{
try
{
currItem = (ListItem)item;
int.TryParse(currItem.Value, out valore);
if (valore < 8 && valore >= 0)
{
currItem.Enabled = false;
}
}
catch
{ }
}
hlPartValidation.Visible = false;
// controllo SE HO nuove PARTS da validare...
var tabItems2Valid = DataLayer.man.taIL.getNeedValid();
var tabItemsUnValid = DataLayer.man.taIL.getUnValid();
lbtValidateMissing.Visible = tabItems2Valid.Count > 0;
lbtRevalidate.Visible = tabItemsUnValid.Count > 0;
}
// controllo infine SE CI SIANO parti da validare...
if (DataLayer.man.taBL.getByStatus(8).Count > 0)
{
hlPartValidation.CssClass = "btn btn-sm btn-warning btn-block";
}
else
{
hlPartValidation.CssClass = "btn btn-sm btn-success btn-block";
}
}
private void Cmp_numRow_eh_doRefresh(object sender, EventArgs e)
{
// recupero num righe ed aggiorno...
grView.PageSize = cmp_numRow.numRow;
grView.DataBind();
}
private void Cmp_batchDetail_eh_doRefresh(object sender, EventArgs e)
{
resetSelezione();
}
/// <summary>
/// Codice CSS in base a status...
/// </summary>
/// <param name="_status"></param>
/// <returns></returns>
public string cssByStatus(object _status)
{
string answ = "text-muted";
int status = -1;
int.TryParse(_status.ToString(), out status);
switch (status)
{
case 1:
answ = "font-weight-bold text-info";
break;
case 2:
answ = "font-weight-bold text-primary";
break;
case 3:
answ = "font-weight-bold text-warning";
break;
case 4:
answ = "font-weight-bold text-danger";
break;
case 5:
answ = "font-weight-bold text-success";
break;
case 6:
answ = "font-weight-bold text-secondary";
break;
default:
break;
}
return answ;
}
/// <summary>
/// Converte il codice stato in effettivo campo
/// </summary>
/// <param name="_status"></param>
/// <returns></returns>
public string BStatus(object _status)
{
string answ = ComLib.BatchStatusDescr(_status);
return answ;
}
/// <summary>
/// comando reset
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtReset_Click(object sender, EventArgs e)
{
resetSelezione();
}
private void resetSelezione()
{
grView.SelectedIndex = -1;
grView.DataBind();
divDetail.Visible = false;
}
/// <summary>
/// BatchId selezionato
/// </summary>
protected int BatchIdSel
{
get
{
int answ = 0;
int.TryParse(grView.SelectedValue.ToString(), out answ);
return answ;
}
}
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
divDetail.Visible = true;
// recupero BatchId selezionato
cmp_batchDetail.BatchId = BatchIdSel;
}
public void doUpdate()
{
resetSelezione();
// controllo infine SE CI SIANO parti da validare...
if (DataLayer.man.taBL.getByStatus(8).Count > 0)
{
hlPartValidation.CssClass = "btn btn-sm btn-warning btn-block";
}
else
{
hlPartValidation.CssClass = "btn btn-sm btn-success btn-block";
}
}
protected void lbtValidateMissing_Click(object sender, EventArgs e)
{
// chiamo stored x creazione NUOVI BATCH...
try
{
DataLayer.man.taBL.createPartValBatch(memLayer.ML.CRS("cadBaseBath"));
// eventualmente mando primo batch da validare...
bool newValidSent = ComLib.sendFirstValidationBatch();
}
catch
{ }
// update!
doUpdate();
}
protected void lbtRevalidate_Click(object sender, EventArgs e)
{
// rimetto da validare tramite stored
try
{
DataLayer.man.taBL.resetPartUnValid(memLayer.ML.CRS("cadBaseBath"));
// eventualmente mando primo batch da validare...
bool newValidSent = ComLib.sendFirstValidationBatch();
}
catch
{ }
// update!
doUpdate();
}
}
}