Files
MoonPro.net/MP-Admin/WebUserControls/mod_gestKIT.ascx.cs
T
2018-10-25 17:34:00 +02:00

219 lines
5.3 KiB
C#

using MapoDb;
using SteamWare;
using System;
using System.Text;
namespace MoonProAdmin.WebUserControls
{
public partial class mod_gestKIT : System.Web.UI.UserControl
{
#region setup VARS
/// <summary>
/// RegExp x RESET / CANCEL
/// </summary>
protected string regExp_KO = memLayer.ML.cdv("regExp_KO");
/// <summary>
/// RegExp x CONFERMA
/// </summary>
protected string regExp_OK = memLayer.ML.cdv("regExp_OK");
/// <summary>
/// RegExp x START KIT
/// </summary>
protected string regExp_KitStart = memLayer.ML.cdv("regExp_KitStart");
/// <summary>
/// RegExp x SAVE KIT
/// </summary>
protected string regExp_KitSave = memLayer.ML.cdv("regExp_KitSave");
#endregion
#region variabili in sessione
/// <summary>
/// UID formattato con "_"
/// </summary>
public string uid
{
get
{
return this.UniqueID.Replace("$", "_").Replace("-", "_");
}
}
/// <summary>
/// titolo pagina
/// </summary>
public string titolo
{
get
{
return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", "");
}
}
public string codKitTemp
{
get
{
return memLayer.ML.StringSessionObj(string.Format("codKitTemp_{0}", uid));
}
set
{
memLayer.ML.setSessionVal(string.Format("codKitTemp_{0}", uid), value);
hlCodKitTemp.Value = value;
grViewWSK.DataBind();
}
}
/// <summary>
/// Aggiunge (in obj OrdineKit) l'ordine coi parametri indicati
/// </summary>
/// <param name="codOrd"></param>
/// <param name="codArt"></param>
/// <param name="descArt"></param>
/// <param name="qta"></param>
/// <returns></returns>
public bool addOrdArt(string codOrd, string codArt, string descArt, int qta)
{
bool answ = false;
// verifico di avere un codiceKIT
checkCodKit();
// salvo info x il cod temporaneo...
DataLayer.obj.taWKS.insertQuery(codKitTemp, codOrd, codArt, descArt, qta);
answ = true;
grViewWSK.DataBind();
grViewKitSel.DataBind();
grViewPODL.DataBind();
grViewIstanzeKIT.DataBind();
return answ;
}
#endregion
/// <summary>
/// Caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
doReset();
}
}
/// <summary>
/// Ultimo input registrato
/// </summary>
public string lastInput
{
get
{
return hlLastInput.Value;
}
set
{
hlLastInput.Value = value;
}
}
/// <summary>
/// Aggiorno controllo secondo ULTIMO input
/// </summary>
public void doUpdate()
{
// aggiorno label...
messOut = "";
// controllo input (reset/inizio o salva...)
if (lastInput == regExp_KO)
{
// resetto dati
doReset();
messOut = "Effettuato reset!";
}
else if (lastInput == regExp_KitStart)
{
// resetto dati
doReset();
messOut = "Inizio configurazione KIT";
}
else if (lastInput == regExp_KitSave)
{
}
else if (lastInput == regExp_OK)
{
}
//riporto gli ordini caricati...
StringBuilder sb = new StringBuilder();
checkCodKit();
if (codKitTemp != "")
{
sb.AppendLine(string.Format("CodTemp:{0}<br/>", codKitTemp));
// recupero da tab...
var tabRes = DataLayer.obj.taWKS.getByFilt(codKitTemp);
foreach (var item in tabRes)
{
sb.AppendLine(string.Format("OrdNum:{0}, CodArt: {1}, Descr: {2}, Qta: {3}<br/>", item.CodOrd, item.CodArt, item.DescArt, item.Qta));
}
}
// accodo...
messOut += sb.ToString();
}
private void doReset()
{
// elimino eventuali record ODL
DataLayer.obj.taWKS.deleteQuery(codKitTemp);
codKitTemp = "";
checkCodKit();
}
/// <summary>
/// Verifico SE HO un codKit Temporaneo sennò lo creo...
/// </summary>
private void checkCodKit()
{
if (codKitTemp == "")
{
// genero un NUOVO cod temp kit...
codKitTemp = string.Format("KIT_{0:yyMMdd_HHmmss}", DateTime.Now);
}
}
public string messOut
{
set
{
lblOut.Text = value;
}
get
{
return lblOut.Text;
}
}
protected void grViewKitSel_SelectedIndexChanged(object sender, EventArgs e)
{
// se ho selezionato recupero CHIAVE = CodArticolo del KIT
string CodArtParent = grViewKitSel.SelectedValue.ToString();
// recupero conf x quel kit...
string KeyKit = "";
// calcolo NUOVO codice kit...
var tabKey = DataLayer.obj.taIstK.getNewKey();
if (tabKey.Rows.Count == 1)
{
// stacco un NUOVO codice KIT
KeyKit = tabKey[0].KeyKit;
// inserisco ISTANZA KIT!
DataLayer.obj.taIstK.insertByWKS(KeyKit, CodArtParent, codKitTemp);
//CREO la P.ODL...
// faccio reset valori WKS...
doReset();
// ora resetto ordine caricato...
messOut = string.Format("Creato NUOVA P.ODL cod {0} per il KIT {1}", KeyKit, CodArtParent);
}
}
}
}