Merge branch 'develop'

This commit is contained in:
Samuele E. Locatelli
2021-01-29 16:04:46 +01:00
6 changed files with 360 additions and 227 deletions
@@ -136,8 +136,8 @@
</HeaderTemplate>
<ItemTemplate>
<div class="text-center">
<i runat="server" visible='<%# ltVal(Eval("tempRil"),20) %>' class="fa fa-thermometer-empty text-secondary" aria-hidden="true"></i>
<i runat="server" visible='<%# gtVal(Eval("tempRil"),34) %>' class="fa fa-thermometer text-success" aria-hidden="true"></i>
<i runat="server" visible='<%# ltVal(Eval("tempRil"),34) %>' class="fa fa-thermometer-empty text-secondary" aria-hidden="true"></i>
<i runat="server" visible='<%# betweenVal(Eval("tempRil"),34,37) %>' class="fa fa-thermometer text-success" aria-hidden="true"></i>
<i runat="server" visible='<%# betweenVal(Eval("tempRil"),37.1,37.5) %>' class="fa fa-thermometer text-warning" aria-hidden="true"></i>
<i runat="server" visible='<%# gtVal(Eval("tempRil"), 37.5) %>' class="fa fa-thermometer text-danger" aria-hidden="true"></i>
</div>
+89 -33
View File
@@ -12,47 +12,21 @@ namespace GPW_Commesse
{
public class BaseUserControl : System.Web.UI.UserControl
{
#region Public Events
/// <summary>
/// Evento cancel
/// </summary>
public event EventHandler ehCancel;
/// <summary>
/// Evento save
/// </summary>
public event EventHandler ehSave;
/// <summary>
/// Sollevo evento cancel
/// </summary>
protected void raiseCancel()
{
if (ehCancel != null)
{
ehCancel(this, new EventArgs());
}
}
/// <summary>
/// Sollevo evento save
/// </summary>
protected void raiseSave()
{
if (ehSave != null)
{
ehSave(this, new EventArgs());
}
}
/// <summary>
/// Verifica se il valore sia > 0
/// </summary>
/// <param name="_valore"></param>
/// <returns></returns>
public bool gtZero(object _valore)
{
bool answ = false;
decimal valore = 0;
decimal.TryParse(_valore.ToString(), out valore);
answ = valore > 0;
return answ;
}
#endregion Public Events
#region Protected Properties
/// <summary>
/// idxDipendente in sessione
@@ -69,5 +43,87 @@ namespace GPW_Commesse
}
}
#endregion Protected Properties
#region Protected Methods
/// <summary>
/// Sollevo evento cancel
/// </summary>
protected void raiseCancel()
{
if (ehCancel != null)
{
ehCancel(this, new EventArgs());
}
}
/// <summary>
/// Sollevo evento save
/// </summary>
protected void raiseSave()
{
if (ehSave != null)
{
ehSave(this, new EventArgs());
}
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// Verifica se il valore sia > limitValue
/// </summary>
/// <param name="_valore"></param>
/// <param name="minVal"></param>
/// <param name="maxVal"></param>
/// <returns></returns>
public bool betweenVal(object _valore, double minVal, double maxVal)
{
bool answ = false;
if (_valore != null)
{
double valore = 0;
_ = double.TryParse(_valore.ToString(), out valore);
answ = valore <= maxVal && valore >= minVal;
}
return answ;
}
/// <summary>
/// Verifica se il valore sia > limitValue
/// </summary>
/// <param name="_valore"></param>
/// <param name="maxVal"></param>
/// <returns></returns>
public bool gtVal(object _valore, double maxVal)
{
bool answ = false;
if (_valore != null)
{
double valore = 0;
_ = double.TryParse(_valore.ToString(), out valore);
answ = valore > maxVal;
}
return answ;
}
/// <summary>
/// Verifica se il valore sia > 0
/// </summary>
/// <param name="_valore"></param>
/// <returns></returns>
public bool gtZero(object _valore)
{
bool answ = false;
decimal valore = 0;
decimal.TryParse(_valore.ToString(), out valore);
answ = valore > 0;
return answ;
}
#endregion Public Methods
}
}
@@ -99,7 +99,7 @@
</HeaderTemplate>
<ItemTemplate>
<div class="text-center">
<asp:LinkButton runat="server" ID="lbShowTemp" CausesValidation="False" CommandName="Select" CommandArgument='<%# Eval("Data") %>' CssClass="btn btn-outline-secondary btn-sm" OnClick="lbShowTemp_Click"> <i runat="server" visible='<%# !gtZero(Eval("tempRil")) %>' class="fa fa-thermometer-empty text-danger" aria-hidden="true"></i><i runat="server" visible='<%# gtZero(Eval("tempRil")) %>' class="fa fa-thermometer text-success" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbShowTemp" CausesValidation="False" CommandName="Select" CommandArgument='<%# Eval("Data") %>' CssClass="btn btn-outline-secondary btn-sm" OnClick="lbShowTemp_Click"> <i runat="server" visible='<%# !gtZero(Eval("tempRil")) %>' class="fa fa-thermometer-empty text-danger" aria-hidden="true"></i><i runat="server" visible='<%# gtZero(Eval("tempRil")) %>' class="fa fa-thermometer text-success" aria-hidden="true"></i><i runat="server" visible='<%# betweenVal(Eval("tempRil"),37.1, 37.5) %>' class="fa fa-exclamation-triangle text-warning" aria-hidden="true"></i><i runat="server" visible='<%# gtVal(Eval("tempRil"), 37.5) %>' class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i></asp:LinkButton>
</div>
</ItemTemplate>
</asp:TemplateField>
+149 -84
View File
@@ -9,91 +9,8 @@ namespace GPW_Smart
{
public class BaseUserControl : System.Web.UI.UserControl
{
public string hashEmail
{
get
{
return memLayer.ML.StringSessionObj("hashEmail");
}
}
public string email
{
get
{
return memLayer.ML.StringSessionObj("email");
}
}
public string cognomeNome
{
get
{
return memLayer.ML.StringSessionObj("cognomeNome");
}
}
public string IP
{
get
{
return Request.UserHostName;
}
}
#region Protected Properties
public int numColEU
{
get
{
return memLayer.ML.IntSessionObj("numColEU");
}
set
{
memLayer.ML.setSessionVal("numColEU", value);
}
}
public int numRowTimb
{
get
{
return memLayer.ML.IntSessionObj("numRowTimb");
}
set
{
memLayer.ML.setSessionVal("numRowTimb", value);
}
}
public bool abilitaAll
{
get
{
bool answ = false;
try
{
string rawData = memLayer.ML.getRSV("abilitaAll");
bool.TryParse(rawData, out answ);
}
catch
{ }
return answ;
}
set
{
int ttlSec = value ? memLayer.ML.CRI("ttlAbilitaAll") : 0;
memLayer.ML.setRSV("abilitaAll", value.ToString(), ttlSec);
}
}
public string textSize
{
get
{
string answ=memLayer.ML.StringSessionObj("textSize");
if (string.IsNullOrEmpty(answ))
answ = "1.2em";
return answ;
}
set
{
memLayer.ML.setSessionVal("textSize", value);
}
}
/// <summary>
/// idx dipendente loggato
/// </summary>
@@ -115,5 +32,153 @@ namespace GPW_Smart
memLayer.ML.setSessionVal("IdxDipendente", value.ToString());
}
}
#endregion Protected Properties
#region Public Properties
public bool abilitaAll
{
get
{
bool answ = false;
try
{
string rawData = memLayer.ML.getRSV("abilitaAll");
bool.TryParse(rawData, out answ);
}
catch
{ }
return answ;
}
set
{
int ttlSec = value ? memLayer.ML.CRI("ttlAbilitaAll") : 0;
memLayer.ML.setRSV("abilitaAll", value.ToString(), ttlSec);
}
}
public string cognomeNome
{
get
{
return memLayer.ML.StringSessionObj("cognomeNome");
}
}
public string email
{
get
{
return memLayer.ML.StringSessionObj("email");
}
}
public string hashEmail
{
get
{
return memLayer.ML.StringSessionObj("hashEmail");
}
}
public string IP
{
get
{
return Request.UserHostName;
}
}
public int numColEU
{
get
{
return memLayer.ML.IntSessionObj("numColEU");
}
set
{
memLayer.ML.setSessionVal("numColEU", value);
}
}
public int numRowTimb
{
get
{
return memLayer.ML.IntSessionObj("numRowTimb");
}
set
{
memLayer.ML.setSessionVal("numRowTimb", value);
}
}
public string textSize
{
get
{
string answ = memLayer.ML.StringSessionObj("textSize");
if (string.IsNullOrEmpty(answ))
answ = "1.2em";
return answ;
}
set
{
memLayer.ML.setSessionVal("textSize", value);
}
}
#endregion Public Properties
#region Public Methods
/// <summary>
/// Verifica se il valore sia > limitValue
/// </summary>
/// <param name="_valore"></param>
/// <param name="minVal"></param>
/// <param name="maxVal"></param>
/// <returns></returns>
public bool betweenVal(object _valore, double minVal, double maxVal)
{
bool answ = false;
if (_valore != null)
{
double valore = 0;
_ = double.TryParse(_valore.ToString(), out valore);
answ = valore <= maxVal && valore >= minVal;
}
return answ;
}
/// <summary>
/// Verifica se il valore sia > limitValue
/// </summary>
/// <param name="_valore"></param>
/// <param name="maxVal"></param>
/// <returns></returns>
public bool gtVal(object _valore, double maxVal)
{
bool answ = false;
if (_valore != null)
{
double valore = 0;
_ = double.TryParse(_valore.ToString(), out valore);
answ = valore > maxVal;
}
return answ;
}
public bool gtZero(object _valore)
{
bool answ = false;
decimal valore = 0;
decimal.TryParse(_valore.ToString(), out valore);
answ = valore > 0;
return answ;
}
#endregion Public Methods
}
}
@@ -12,7 +12,7 @@
<asp:Label runat="server" ID="lblWarning" Visible="false" />
</div>
</div>
<div runat="server" class="row fontCond" id="divTable" >
<div runat="server" class="row fontCond" id="divTable">
<div class="col px-2">
<asp:GridView ID="grView" runat="server" AllowPaging="false" DataSourceID="ods" AutoGenerateColumns="False" DataKeyNames="dataLav,idxDipendente" CellPadding="0" GridLines="None" OnRowCreated="grView_RowCreated" OnSelectedIndexChanged="grView_SelectedIndexChanged" CssClass="table table-striped table-sm table-condensed">
<Columns>
@@ -68,7 +68,7 @@
<i runat="server" visible='<%# !gtZero(Eval("tempRil")) %>' class="fa fa-thermometer-empty text-danger" aria-hidden="true"></i>
<i runat="server" visible='<%# gtZero(Eval("tempRil")) %>' class="fa fa-thermometer text-success" aria-hidden="true"></i>
<i runat="server" visible='<%# betweenVal(Eval("tempRil"),37.1, 37.5) %>' class="fa fa-exclamation-triangle text-warning" aria-hidden="true"></i><i runat="server" visible='<%# gtVal(Eval("tempRil"), 37.5) %>' class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i>
</asp:LinkButton>
</div>
</ItemTemplate>
@@ -85,4 +85,4 @@
</SelectParameters>
</asp:ObjectDataSource>
</div>
</div>
</div>
+116 -104
View File
@@ -9,6 +9,8 @@ namespace GPW.WebUserControls
{
public partial class mod_timbrature : BaseUserControl
{
#region Protected Properties
protected bool forceButtons
{
get
@@ -20,60 +22,10 @@ namespace GPW.WebUserControls
abilitaAll = !(value);
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// verifico se ci sia un numero di righe selezionate altrimenti lo imposto...
if (!memLayer.ML.isInSessionObject("numColEU")) numColEU = 2;
if (!memLayer.ML.isInSessionObject("numRowTimb")) numRowTimb = 10;
memLayer.ML.setSessionVal("dataRif", DateTime.Today);
}
setButtons();
fixFont();
}
private void fixFont()
{
divTable.Style.Clear();
divTable.Style.Add("font-size", textSize);
}
#endregion Protected Properties
/// <summary>
/// fix buttons button
/// </summary>
private void setButtons()
{
// controllo SE voglio inibire i buttons...
if (forceButtons)
{
// controllo se il prox comando DOVREBBE essere entrata o uscita
bool nextIsEntrata = true;
// controllo dipendente
if (IdxDipendente > 0)
{
// 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, false);
}
}
else
{
fixBtnInOut(true, true);
}
}
#region Private Methods
private void fixBtnInOut(bool showIn, bool showOut)
{
@@ -83,41 +35,12 @@ namespace GPW.WebUserControls
lbtUscita.CssClass = showOut ? "btn btn-success btn-block" : "btn btn-outline-success disabled btn-block";
}
/// <summary>
/// timbro entrata...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtEntrata_Click(object sender, EventArgs e)
private void fixFont()
{
bool isEntrata = true;
registraTimbratura(isEntrata);
}
/// <summary>
/// uscita...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtUscita_Click(object sender, EventArgs e)
{
bool isEntrata = false;
registraTimbratura(isEntrata);
}
/// <summary>
/// Aggiorno visualizzazione
/// </summary>
public void doUpdate()
{
setButtons();
grView.DataBind();
}
/// <summary>
/// update elenco ultime timbrature
/// </summary>
private void updateTimbrature()
{
// aggiorno datagrid
divTable.Style.Clear();
divTable.Style.Add("font-size", textSize);
}
/// <summary>
/// registro timbratura
/// </summary>
@@ -164,22 +87,53 @@ namespace GPW.WebUserControls
}
/// <summary>
/// inverte valore booleano
/// fix buttons button
/// </summary>
/// <param name="valore"></param>
/// <returns></returns>
public bool invBool(object valore)
private void setButtons()
{
bool answ = true;
try
// controllo SE voglio inibire i buttons...
if (forceButtons)
{
answ = !Convert.ToBoolean(valore);
// controllo se il prox comando DOVREBBE essere entrata o uscita
bool nextIsEntrata = true;
// controllo dipendente
if (IdxDipendente > 0)
{
// 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, false);
}
}
else
{
fixBtnInOut(true, true);
}
catch
{ }
return answ;
}
/// <summary>
/// update elenco ultime timbrature
/// </summary>
private void updateTimbrature()
{
// aggiorno datagrid
}
#endregion Private Methods
#region Protected Methods
protected void grView_RowCreated(object sender, GridViewRowEventArgs e)
{
int maxNum = e.Row.Cells.Count - 2;
@@ -205,15 +159,6 @@ namespace GPW.WebUserControls
Response.Redirect($"Progetti?dataRif={dataRif:yyyy-MM-dd}");
}
public bool gtZero(object _valore)
{
bool answ = false;
decimal valore = 0;
decimal.TryParse(_valore.ToString(), out valore);
answ = valore > 0;
return answ;
}
protected void lbShowTemp_Click(object sender, EventArgs e)
{
// recupero data di riferimento
@@ -231,5 +176,72 @@ namespace GPW.WebUserControls
catch
{ }
}
/// <summary>
/// timbro entrata...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtEntrata_Click(object sender, EventArgs e)
{
bool isEntrata = true;
registraTimbratura(isEntrata);
}
/// <summary>
/// uscita...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtUscita_Click(object sender, EventArgs e)
{
bool isEntrata = false;
registraTimbratura(isEntrata);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// verifico se ci sia un numero di righe selezionate altrimenti lo imposto...
if (!memLayer.ML.isInSessionObject("numColEU")) numColEU = 2;
if (!memLayer.ML.isInSessionObject("numRowTimb")) numRowTimb = 10;
memLayer.ML.setSessionVal("dataRif", DateTime.Today);
}
setButtons();
fixFont();
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// Aggiorno visualizzazione
/// </summary>
public void doUpdate()
{
setButtons();
grView.DataBind();
}
/// <summary>
/// inverte valore booleano
/// </summary>
/// <param name="valore"></param>
/// <returns></returns>
public bool invBool(object valore)
{
bool answ = true;
try
{
answ = !Convert.ToBoolean(valore);
}
catch
{ }
return answ;
}
#endregion Public Methods
}
}