298 lines
7.8 KiB
C#
298 lines
7.8 KiB
C#
using CMS_SC_Data;
|
|
using SteamWare;
|
|
using System;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace CMS_SC.WebUserControls
|
|
{
|
|
public partial class mod_DettScheda : SteamWare.UserControl
|
|
{
|
|
/// <summary>
|
|
/// selezione valore in DettScheda
|
|
/// </summary>
|
|
public event EventHandler eh_selezioneValore;
|
|
/// <summary>
|
|
/// richiesta SAVE (da enter)
|
|
/// </summary>
|
|
public event EventHandler eh_reqSave;
|
|
/// <summary>
|
|
/// sollevo evento selezione
|
|
/// </summary>
|
|
protected void raiseEvent()
|
|
{
|
|
// sollevo evento nuovo valore...
|
|
if (eh_selezioneValore != null)
|
|
{
|
|
eh_selezioneValore(this, new EventArgs());
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// caricamento macchina
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
}
|
|
/// <summary>
|
|
/// dimensione pagina grid view
|
|
/// </summary>
|
|
public int pageSize
|
|
{
|
|
get
|
|
{
|
|
return grView.PageSize;
|
|
}
|
|
set
|
|
{
|
|
grView.PageSize = value;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// richiesta di aggiunta record, tutto a zero!
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void lbAddNew_Click(object sender, EventArgs e)
|
|
{
|
|
insertNewRec();
|
|
}
|
|
/// <summary>
|
|
/// inserisco un nuovo record da completare...
|
|
/// </summary>
|
|
private void insertNewRec()
|
|
{
|
|
// inserisco nuovo record SE HO una selezione da URL
|
|
if (memLayer.ML.QSS("CodSchedaVers") != "")
|
|
{
|
|
DtProxy.man.taDS.insertNew(memLayer.ML.QSS("CodSchedaVers"), "");
|
|
// update!
|
|
grView.DataBind();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// crea un nuovo record ...
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnNewFromEmpty_Click(object sender, EventArgs e)
|
|
{
|
|
insertNewRec();
|
|
}
|
|
/// <summary>
|
|
/// wrapper traduzione
|
|
/// </summary>
|
|
/// <param name="lemma"></param>
|
|
/// <returns></returns>
|
|
public string traduci(string lemma)
|
|
{
|
|
return user_std.UtSn.Traduci(lemma);
|
|
}
|
|
/// <summary>
|
|
/// Scheda selezionata
|
|
/// </summary>
|
|
public string CodSchedaSel
|
|
{
|
|
get
|
|
{
|
|
string answ = "";
|
|
try
|
|
{
|
|
answ = grView.SelectedDataKey["CodScheda"].ToString();
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Versione selezionata
|
|
/// </summary>
|
|
public int VersSel
|
|
{
|
|
get
|
|
{
|
|
int answ = -1;
|
|
try
|
|
{
|
|
answ = Convert.ToInt32(grView.SelectedDataKey["Vers"].ToString());
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Misura selezionata
|
|
/// </summary>
|
|
public string CodMisuraSel
|
|
{
|
|
get
|
|
{
|
|
string answ = "";
|
|
try
|
|
{
|
|
answ = grView.SelectedDataKey["CodMisura"].ToString();
|
|
}
|
|
catch
|
|
{ }
|
|
return answ;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// salvo in session il prox comando
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void lb_Click(object sender, EventArgs e)
|
|
{
|
|
SteamWare.memLayer.ML.setSessionVal("nextObjCommand", ((LinkButton)sender).CommandArgument);
|
|
}
|
|
/// <summary>
|
|
/// selezionato valore
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
// verifico se ho un argomento di tipo moveUp / moveDown... quale comando?
|
|
string _comando = "";
|
|
if (SteamWare.memLayer.ML.isInSessionObject("nextObjCommand"))
|
|
{
|
|
_comando = SteamWare.memLayer.ML.StringSessionObj("nextObjCommand");
|
|
SteamWare.memLayer.ML.emptySessionVal("nextObjCommand");
|
|
}
|
|
if (_comando != "")
|
|
{
|
|
// SE c'era comando eseguo move...
|
|
switch (_comando)
|
|
{
|
|
case "moveUp":
|
|
case "moveDown":
|
|
DtProxy.man.taDS.moveUpDown(_comando, CodSchedaSel, VersSel, CodMisuraSel);
|
|
break;
|
|
case "clone":
|
|
DtProxy.man.taDS.clone(memLayer.ML.QSS("CodSchedaVers"), grView.SelectedDataKey["CodMisura"].ToString());
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
resetSelezione();
|
|
}
|
|
else
|
|
{
|
|
raiseEvent();
|
|
}
|
|
}
|
|
protected void btnReset_Click(object sender, EventArgs e)
|
|
{
|
|
resetSelezione();
|
|
}
|
|
/// <summary>
|
|
/// resetto selezione
|
|
/// </summary>
|
|
private void resetSelezione()
|
|
{
|
|
grView.SelectedIndex = -1;
|
|
grView.DataBind();
|
|
raiseEvent();
|
|
}
|
|
/// <summary>
|
|
/// determina visibilità frecce spostamento
|
|
/// </summary>
|
|
/// <param name="direction">direzione: UP / DOWN</param>
|
|
/// <param name="CodMisura">CodMisura da verificare</param>
|
|
/// <returns></returns>
|
|
public bool arrowVisible(object _direction, object _CodMisura)
|
|
{
|
|
bool answ = false;
|
|
string direction = _direction.ToString();
|
|
string CodMisura = _CodMisura.ToString();
|
|
if (memLayer.ML.QSS("CodSchedaVers") != "")
|
|
{
|
|
// recupero TUTTE le righe della scheda dett corrente
|
|
DS_Applicazione.DettSchedaDataTable tab = DtProxy.man.taDS.getByScheda(memLayer.ML.QSS("CodSchedaVers"));
|
|
// a seconda della direzione CERCO se ci siano misure prima/dopo...
|
|
string where = "";
|
|
switch (direction)
|
|
{
|
|
case "UP":
|
|
where = string.Format("CodMisura < '{0}'", CodMisura);
|
|
break;
|
|
case "DOWN":
|
|
where = string.Format("CodMisura > '{0}'", CodMisura);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
answ = tab.Select(where).Length > 0;
|
|
}
|
|
return answ;
|
|
}
|
|
|
|
/// <summary>
|
|
/// determina visibilità delete (solo se è ultima misura)
|
|
/// </summary>
|
|
/// <param name="direction">direzione: UP / DOWN</param>
|
|
/// <param name="CodMisura">CodMisura da verificare</param>
|
|
/// <returns></returns>
|
|
public bool delEnabled(object _CodMisura)
|
|
{
|
|
bool answ = false;
|
|
string CodMisura = _CodMisura.ToString();
|
|
if (memLayer.ML.QSS("CodSchedaVers") != "")
|
|
{
|
|
// recupero TUTTE le righe della scheda dett corrente
|
|
DS_Applicazione.DettSchedaDataTable tab = DtProxy.man.taDS.getByScheda(memLayer.ML.QSS("CodSchedaVers"));
|
|
// a seconda della direzione CERCO se ci siano misure prima/dopo...
|
|
string where = string.Format("CodMisura > '{0}'", CodMisura);
|
|
answ = tab.Select(where).Length == 0;
|
|
}
|
|
return answ;
|
|
}
|
|
|
|
protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e)
|
|
{
|
|
resetSelezione();
|
|
}
|
|
|
|
protected void ods_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
|
|
{
|
|
resetSelezione();
|
|
}
|
|
|
|
/// <summary>
|
|
/// save del record
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
// verifico SE sia in editing...
|
|
if (grView.EditIndex >= 0)
|
|
{
|
|
// salvo
|
|
grView.UpdateRow(grView.EditIndex, false);
|
|
grView.EditIndex = -1;
|
|
grView.DataBind();
|
|
}
|
|
else
|
|
{
|
|
// sollevo evento nuovo valore...
|
|
if (eh_reqSave != null)
|
|
{
|
|
eh_reqSave(this, new EventArgs());
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void ods_Updating(object sender, ObjectDataSourceMethodEventArgs e)
|
|
{
|
|
// metto a capo tra i vari tag SE non ci fosse...
|
|
if (e.InputParameters["NomeMisura"].ToString().IndexOf("][") >= 0)
|
|
{
|
|
e.InputParameters["NomeMisura"] = e.InputParameters["NomeMisura"].ToString().Replace("][", "]\n[");
|
|
}
|
|
}
|
|
}
|
|
} |