diff --git a/GPW_Smart/WebUserControls/mod_commAttivita.ascx b/GPW_Smart/WebUserControls/mod_commAttivita.ascx
index 9d3d593..414f6ea 100644
--- a/GPW_Smart/WebUserControls/mod_commAttivita.ascx
+++ b/GPW_Smart/WebUserControls/mod_commAttivita.ascx
@@ -1,66 +1,66 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_commAttivita.ascx.cs" Inherits="GPW.WebUserControls.mod_commAttivita" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/GPW_Smart/WebUserControls/mod_commAttivita.ascx.cs b/GPW_Smart/WebUserControls/mod_commAttivita.ascx.cs
index 157e9f0..432bf22 100644
--- a/GPW_Smart/WebUserControls/mod_commAttivita.ascx.cs
+++ b/GPW_Smart/WebUserControls/mod_commAttivita.ascx.cs
@@ -9,42 +9,70 @@ namespace GPW.WebUserControls
{
public partial class mod_commAttivita : System.Web.UI.UserControl
{
+ #region Protected Properties
+
///
/// Hash di base x ricerca CLIENTE da idxFase
///
protected string rhCliByIF { get; set; }
- ///
- /// Hash di base x ricerca PROGETTO da idxFase
- ///
- protected string rhProjByIF { get; set; }
- ///
- /// Hash di base x ricerca IdxProgetto da idxFase
- ///
- protected string rhIPByIF { get; set; }
+
///
/// Hash di base x ricerca FASE da idxFase
///
protected string rhFaseByIF { get; set; }
+ ///
+ /// Hash di base x ricerca IdxProgetto da idxFase
+ ///
+ protected string rhIPByIF { get; set; }
+ ///
+ /// Hash di base x ricerca PROGETTO da idxFase
+ ///
+ protected string rhProjByIF { get; set; }
- protected void Page_Load(object sender, EventArgs e)
+ protected bool userEnabled
{
- if (!Page.IsPostBack)
- {
- // controllo se ho una data selezionata da URL
- if (!string.IsNullOrEmpty(memLayer.ML.QSS("dataRif")))
- {
- dataRif = memLayer.ML.QSD("dataRif");
- }
- setupPage();
- }
- rhCliByIF = memLayer.ML.redHash("cliByIdxFase:");
- rhIPByIF = memLayer.ML.redHash("idxProjByIdxFase:");
- rhProjByIF = memLayer.ML.redHash("projByIdxFase:");
- rhFaseByIF = memLayer.ML.redHash("faseByIdxFase:");
- grView.DataBind();
+ get => (DataProxy.currDipIsActive && DataProxy.currDipHasPayloadActive);
}
+
+ #endregion Protected Properties
+
+ #region Public Properties
+
+ ///
+ /// data riferimento (selezionata) da session
+ ///
+ public DateTime dataRif
+ {
+ get
+ {
+ DateTime answ = DateTime.Now;
+ // cerco in session...
+ if (memLayer.ML.isInSessionObject("dataRif"))
+ {
+ try
+ {
+ answ = Convert.ToDateTime(memLayer.ML.objSessionObj("dataRif"));
+ }
+ catch
+ { }
+ }
+ // altrimenti cerco in URL e salvo in session...
+ else if (!string.IsNullOrEmpty(memLayer.ML.QSS("dataRif")))
+ {
+ answ = memLayer.ML.QSD("dataRif");
+ dataRif = answ;
+ }
+ // restituisco!
+ return answ;
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("dataRif", value);
+ }
+ }
+
///
/// pagina di return a fine editing
///
@@ -67,39 +95,66 @@ namespace GPW.WebUserControls
}
}
- ///
- /// data riferimento (selezionata) da session
- ///
- public DateTime dataRif
- {
- get
- {
- DateTime answ = DateTime.Now;
- // cerco in session...
- if (memLayer.ML.isInSessionObject("dataRif"))
- {
- try
- {
+ #endregion Public Properties
- answ = Convert.ToDateTime(memLayer.ML.objSessionObj("dataRif"));
- }
- catch
- { }
- }
- // altrimenti cerco in URL e salvo in session...
- else if (!string.IsNullOrEmpty(memLayer.ML.QSS("dataRif")))
- {
- answ = memLayer.ML.QSD("dataRif");
- dataRif = answ;
- }
- // restituisco!
- return answ;
- }
- set
+ #region Private Methods
+
+ ///
+ /// Cerca dati cliente da idxFase su DB
+ ///
+ ///
+ ///
+ private string getCliByDb(int idxFase)
+ {
+ string answ = "";
+ try
{
- memLayer.ML.setSessionVal("dataRif", value);
+ int idxPrj = idxProjByIdxFase(idxFase);
+ DS_Applicazione.AnagProgettiRow progetto = DataProxy.DP.taAP.getByIdxProjSmart(idxPrj)[0];
+ answ = DataProxy.DP.taAnCli.getByIdx(progetto.idxCliente)[0].RagSociale;
}
+ catch
+ { }
+ return answ;
}
+
+ ///
+ /// Cerca dati fase da idxFase su DB
+ ///
+ ///
+ ///
+ private string getFaseByDb(int idxFase)
+ {
+ string answ = "";
+ try
+ {
+ DS_Applicazione.AnagFasiRow fase = DataProxy.DP.taAF.getByIdxSmart(idxFase)[0];
+ answ = string.Format("{0} ({1})", fase.nomeFase, fase.descrizioneFase);
+ }
+ catch
+ { }
+ return answ;
+ }
+
+ ///
+ /// Cerca dati progetto da idxFase su DB
+ ///
+ ///
+ ///
+ private string getProjByDb(int idxFase)
+ {
+ string answ = "";
+ try
+ {
+ int idxPrj = idxProjByIdxFase(idxFase);
+ DS_Applicazione.AnagProgettiRow progetto = DataProxy.DP.taAP.getByIdxProjSmart(idxPrj)[0];
+ answ = progetto.nomeProj;
+ }
+ catch
+ { }
+ return answ;
+ }
+
///
/// imposta la pagina
///
@@ -121,7 +176,14 @@ namespace GPW.WebUserControls
}
memLayer.ML.setSessionVal("dataFromRA", dataRif.Date);
memLayer.ML.setSessionVal("dataToRA", dataRif.AddDays(1).Date);
+ // controllo aggiunta da licenza
+ lnkCreateNew.Visible = userEnabled;
}
+
+ #endregion Private Methods
+
+ #region Protected Methods
+
///
/// Cerca associazione idxProj <--> idxFase da cache o da Db
///
@@ -145,6 +207,90 @@ namespace GPW.WebUserControls
return idxPrj;
}
+ ///
+ /// rimanda ad edit
+ ///
+ ///
+ ///
+ protected void lnkClona_Click(object sender, EventArgs e)
+ {
+ if (userEnabled)
+ {
+ // salvo
+ LinkButton lbtn = (LinkButton)sender;
+ int idxRa = 0;
+ try
+ {
+ idxRa = Convert.ToInt32(lbtn.CommandArgument);
+ }
+ catch
+ { }
+ // chiamo clona!
+ DataProxy.DP.taRA.clonaRecord(idxRa);
+ }
+ //update!
+ setupPage();
+ grView.DataBind();
+ }
+
+ protected void lnkCreateNew_Click(object sender, EventArgs e)
+ {
+ memLayer.ML.emptySessionVal("idxRASel");
+ if (userEnabled)
+ {
+ // redirect!
+ Response.Redirect("attivitaIns.aspx");
+ }
+ }
+
+ ///
+ /// rimanda ad edit
+ ///
+ ///
+ ///
+ protected void lnkEdit_Click(object sender, EventArgs e)
+ {
+ // salvo
+ LinkButton lbtn = (LinkButton)sender;
+ if (userEnabled)
+ {
+ memLayer.ML.setSessionVal("idxRASel", lbtn.CommandArgument);
+ // redirect!
+ Response.Redirect("attivitaIns.aspx");
+ }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!Page.IsPostBack)
+ {
+ // controllo se ho una data selezionata da URL
+ if (!string.IsNullOrEmpty(memLayer.ML.QSS("dataRif")))
+ {
+ dataRif = memLayer.ML.QSD("dataRif");
+ }
+ setupPage();
+ }
+ rhCliByIF = memLayer.ML.redHash("cliByIdxFase:");
+ rhIPByIF = memLayer.ML.redHash("idxProjByIdxFase:");
+ rhProjByIF = memLayer.ML.redHash("projByIdxFase:");
+ rhFaseByIF = memLayer.ML.redHash("faseByIdxFase:");
+ grView.DataBind();
+ }
+
+ protected void txtData_TextChanged(object sender, EventArgs e)
+ {
+ DateTime newData = DateTime.Today;
+ DateTime.TryParse(txtData.Text, out newData);
+ dataRif = newData;
+ setupPage();
+ grView.DataBind();
+ }
+
+ #endregion Protected Methods
+
+ #region Public Methods
+
///
/// recupera cliente da idxFase
///
@@ -163,61 +309,6 @@ namespace GPW.WebUserControls
}
return answ;
}
- ///
- /// Cerca dati cliente da idxFase su DB
- ///
- ///
- ///
- private string getCliByDb(int idxFase)
- {
- string answ = "";
- try
- {
- int idxPrj = idxProjByIdxFase(idxFase);
- DS_Applicazione.AnagProgettiRow progetto = DataProxy.DP.taAP.getByIdxProjSmart(idxPrj)[0];
- answ = DataProxy.DP.taAnCli.getByIdx(progetto.idxCliente)[0].RagSociale;
- }
- catch
- { }
- return answ;
- }
-
- ///
- /// recupera progetto da idxFase
- ///
- ///
- ///
- public string prjByIdxFase(object _idxFase)
- {
- string answ = "";
- int idxFase = 0;
- int.TryParse(_idxFase.ToString(), out idxFase);
- answ = memLayer.ML.getRSV($"{rhProjByIF}{idxFase}");
- if (string.IsNullOrEmpty(answ))
- {
- answ = getProjByDb(idxFase);
- memLayer.ML.setRSV($"{rhProjByIF}{idxFase}", answ, memLayer.ML.CRI("shotTimeCache"));
- }
- return answ;
- }
- ///
- /// Cerca dati progetto da idxFase su DB
- ///
- ///
- ///
- private string getProjByDb(int idxFase)
- {
- string answ = "";
- try
- {
- int idxPrj = idxProjByIdxFase(idxFase);
- DS_Applicazione.AnagProgettiRow progetto = DataProxy.DP.taAP.getByIdxProjSmart(idxPrj)[0];
- answ = progetto.nomeProj;
- }
- catch
- { }
- return answ;
- }
///
/// recupera descrizione e nome fase da idxFase
@@ -237,73 +328,26 @@ namespace GPW.WebUserControls
}
return answ;
}
+
///
- /// Cerca dati fase da idxFase su DB
+ /// recupera progetto da idxFase
///
///
///
- private string getFaseByDb(int idxFase)
+ public string prjByIdxFase(object _idxFase)
{
string answ = "";
- try
+ int idxFase = 0;
+ int.TryParse(_idxFase.ToString(), out idxFase);
+ answ = memLayer.ML.getRSV($"{rhProjByIF}{idxFase}");
+ if (string.IsNullOrEmpty(answ))
{
- DS_Applicazione.AnagFasiRow fase = DataProxy.DP.taAF.getByIdxSmart(idxFase)[0];
- answ = string.Format("{0} ({1})", fase.nomeFase, fase.descrizioneFase);
+ answ = getProjByDb(idxFase);
+ memLayer.ML.setRSV($"{rhProjByIF}{idxFase}", answ, memLayer.ML.CRI("shotTimeCache"));
}
- catch
- { }
return answ;
}
- ///
- /// rimanda ad edit
- ///
- ///
- ///
- protected void lnkEdit_Click(object sender, EventArgs e)
- {
- // salvo
- LinkButton lbtn = (LinkButton)sender;
- memLayer.ML.setSessionVal("idxRASel", lbtn.CommandArgument);
- // redirect!
- Response.Redirect("attivitaIns.aspx");
- }
- ///
- /// rimanda ad edit
- ///
- ///
- ///
- protected void lnkClona_Click(object sender, EventArgs e)
- {
- // salvo
- LinkButton lbtn = (LinkButton)sender;
- int idxRa = 0;
- try
- {
- idxRa = Convert.ToInt32(lbtn.CommandArgument);
- }
- catch
- { }
- // chiamo clona!
- DataProxy.DP.taRA.clonaRecord(idxRa);
- //update!
- setupPage();
- grView.DataBind();
- }
- protected void lnkCreateNew_Click(object sender, EventArgs e)
- {
- memLayer.ML.emptySessionVal("idxRASel");
- // redirect!
- Response.Redirect("attivitaIns.aspx");
- }
-
- protected void txtData_TextChanged(object sender, EventArgs e)
- {
- DateTime newData = DateTime.Today;
- DateTime.TryParse(txtData.Text, out newData);
- dataRif = newData;
- setupPage();
- grView.DataBind();
- }
+ #endregion Public Methods
}
}
\ No newline at end of file
diff --git a/GPW_Smart/WebUserControls/mod_commAttivita.ascx.designer.cs b/GPW_Smart/WebUserControls/mod_commAttivita.ascx.designer.cs
index bb81ed6..850bfac 100644
--- a/GPW_Smart/WebUserControls/mod_commAttivita.ascx.designer.cs
+++ b/GPW_Smart/WebUserControls/mod_commAttivita.ascx.designer.cs
@@ -1,59 +1,61 @@
//------------------------------------------------------------------------------
-//
-// Codice generato da uno strumento.
+//
+// This code was generated by a tool.
//
-// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
-// il codice viene rigenerato.
-//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
//------------------------------------------------------------------------------
-namespace GPW.WebUserControls {
-
-
- public partial class mod_commAttivita {
-
+namespace GPW.WebUserControls
+{
+
+
+ public partial class mod_commAttivita
+ {
+
///
- /// Controllo txtData.
+ /// txtData control.
///
///
- /// Campo generato automaticamente.
- /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
///
protected global::System.Web.UI.WebControls.TextBox txtData;
-
+
///
- /// Controllo lnkCreateNew.
+ /// lnkCreateNew control.
///
///
- /// Campo generato automaticamente.
- /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
///
protected global::System.Web.UI.WebControls.LinkButton lnkCreateNew;
-
+
///
- /// Controllo lblTotOreRA.
+ /// lblTotOreRA control.
///
///
- /// Campo generato automaticamente.
- /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
///
protected global::System.Web.UI.WebControls.Label lblTotOreRA;
-
+
///
- /// Controllo grView.
+ /// grView control.
///
///
- /// Campo generato automaticamente.
- /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
///
protected global::System.Web.UI.WebControls.GridView grView;
-
+
///
- /// Controllo odsRegAtt.
+ /// odsRegAtt control.
///
///
- /// Campo generato automaticamente.
- /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
///
protected global::System.Web.UI.WebControls.ObjectDataSource odsRegAtt;
}
diff --git a/GPW_Smart/WebUserControls/mod_timbrature.ascx.cs b/GPW_Smart/WebUserControls/mod_timbrature.ascx.cs
index cdb692c..48dcc79 100644
--- a/GPW_Smart/WebUserControls/mod_timbrature.ascx.cs
+++ b/GPW_Smart/WebUserControls/mod_timbrature.ascx.cs
@@ -23,6 +23,11 @@ namespace GPW.WebUserControls
}
}
+ protected bool userEnabled
+ {
+ get => (DataProxy.currDipIsActive && DataProxy.currDipHasPayloadActive);
+ }
+
#endregion Protected Properties
#region Private Methods
@@ -91,34 +96,42 @@ namespace GPW.WebUserControls
///
private void setButtons()
{
- // controllo SE voglio inibire i buttons...
- if (forceButtons)
+ // se utente ok...
+ if (userEnabled)
{
- // controllo se il prox comando DOVREBBE essere entrata o uscita
- bool nextIsEntrata = true;
- // controllo dipendente
- if (IdxDipendente > 0)
+ // controllo SE voglio inibire i buttons...
+ if (forceButtons)
{
- // ricavo ultima timbratura..
- nextIsEntrata = timbratrice.nextIsEntrata(IdxDipendente);
- // di conseguenza cambio abilitazione ad un buttons
- if (nextIsEntrata)
+ // controllo se il prox comando DOVREBBE essere entrata o uscita
+ bool nextIsEntrata = true;
+ // controllo dipendente
+ if (IdxDipendente > 0)
{
- fixBtnInOut(true, false);
+ // ricavo ultima timbratura..
+ nextIsEntrata = timbratrice.nextIsEntrata(IdxDipendente);
+ // di conseguenza cambio abilitazione ad un buttons
+ if (nextIsEntrata)
+ {
+ fixBtnInOut(true, false);
+ }
+ else
+ {
+ fixBtnInOut(false, true);
+ }
}
else
{
- fixBtnInOut(false, true);
+ fixBtnInOut(false, false);
}
}
else
{
- fixBtnInOut(false, false);
+ fixBtnInOut(true, true);
}
}
else
{
- fixBtnInOut(true, true);
+ fixBtnInOut(false, false);
}
}