using AppData;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace C_TRACK.WebUserControls
{
public partial class mod_task2post : System.Web.UI.UserControl
{
///
/// evento aggiunta record
///
public event EventHandler eh_reqUpdate;
protected void Page_Load(object sender, EventArgs e)
{
checkValori();
}
private void checkValori()
{
#if false
// verifica quali valori siano disponibili e di conseguenza visualizza COLORE...
divArticolo.Attributes.Remove("class");
divCommessa.Attributes.Remove("class");
divQta.Attributes.Remove("class");
divArticolo.Attributes.Add("class", CodArticolo != "" ? "col-3 text-center table-success text-success" : "col-3 text-center text-secondary");
divCommessa.Attributes.Add("class", NumTask != "" ? "col-3 text-center table-success text-success" : "col-3 text-center text-secondary");
divQta.Attributes.Add("class", Quantita > 0 ? "col-3 text-center table-success text-success" : "col-3 text-center text-secondary");
#endif
//lblOut.Text = codOper != "" ? codOper : "";
}
public void doUpdate()
{
grView.DataBind();
}
///
/// Stato TASK da mostrare
///
public bool taskIsActive
{
get
{
bool answ = false;
bool.TryParse(hfIsActive.Value, out answ);
return answ;
}
set
{
hfIsActive.Value = value.ToString();
}
}
///
/// Verifica se lo stato sia ATTIVO
///
///
///
public bool checkActive(object _IsActive)
{
bool answ = false;
bool.TryParse(_IsActive.ToString(), out answ);
return answ;
}
///
/// CodPost selezionato in sessione
///
protected string codPost
{
get
{
return memLayer.ML.StringSessionObj("CodPost");
}
}
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
string numTask = grView.SelectedValue.ToString();
// chiamo toggle status, segnalo update!
dataLayer.man.taTL2Post.ToggleActive(codPost, numTask);
// invoco update...
if (eh_reqUpdate != null)
{
eh_reqUpdate(this, new EventArgs());
}
}
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
{
// invoco update...
if (eh_reqUpdate != null)
{
eh_reqUpdate(this, new EventArgs());
}
}
///
/// Input da processare (tipo codOperatore...)...
///
public string newInput
{
set
{
processInput(value);
}
}
///
/// Cod OPERATORE corrente
///
public string NumTask
{
get
{
return memLayer.ML.StringSessionObj("currNumTaskMulti");
}
set
{
memLayer.ML.setSessionVal("currNumTaskMulti", value);
}
}
///
/// Effettua riconoscimento input e determina valori commessa / articolo / qta
///
///
private void processInput(string value)
{
// verifico se sia un operatore...
Match testNumTask = Regex.Match(value, mUtils.reNumTask);
if (testNumTask.Success)
{
NumTask = value;
}
#if false
if (testReset.Success)
{
CodArticolo = "";
NumTask = "";
Quantita = 0;
}
else if (testDelete.Success)
{
// creo...
dataLayer.man.taTL.deleteQuery(NumTask);
// resetto!
CodArticolo = "";
NumTask = "";
Quantita = 0;
// invoco update...
if (eh_created != null)
{
eh_created(this, new EventArgs());
}
}
else if (testAddNew.Success)
{
// se qta > 0 ed ho articolo e commessa...
if (Quantita > 0 && CodArticolo != "" && NumTask != "")
{
// creo...
dataLayer.man.taTL.insertQuery(NumTask, CodArticolo, Quantita);
// resetto!
CodArticolo = "";
NumTask = "";
Quantita = 0;
// invoco update...
if (eh_created != null)
{
eh_created(this, new EventArgs());
}
}
}
else if (testCodArt.Success)
{
CodArticolo = value;
}
else if (testNumTask.Success)
{
NumTask = value;
}
else if (testQta.Success)
{
int qta = 0;
int.TryParse(value, out qta);
Quantita = qta;
}
// non match con RegExp --> ricerca ESPLICITA, se abilitato ricerca estesa
if (memLayer.ML.CRB("OptEnableMapoIn") && !(testCodArt.Success || testNumTask.Success))
{
var tabArt = dataLayer.man.taAnArt.getByKey(value);
if (tabArt.Rows.Count > 0)
{
CodArticolo = value;
}
else
{
var tabTask = dataLayer.man.taTL.getByKey(value);
if (tabTask.Rows.Count > 0)
{
NumTask = value;
}
}
}
#endif
checkValori();
}
}
}