Files
NKC/NKC_WF/WebUserControls/cmp_DailyStatsList.ascx.cs
T
2021-10-06 13:29:47 +02:00

178 lines
4.7 KiB
C#

using System;
using System.Globalization;
using System.Web.UI;
namespace NKC_WF.WebUserControls
{
public partial class cmp_DailyStatsList : BaseUserControl
{
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Protected Properties
protected DateTime DateEnd
{
get
{
DateTime answ = DateTime.Today.AddDays(1);
DateTime.TryParseExact(txtDateEnd.Text, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out answ);
return answ;
}
set
{
txtDateEnd.Text = $"{value:yyyy-MM-dd}";
}
}
protected DateTime DateStart
{
get
{
DateTime answ = DateTime.Today.AddDays(-7);
DateTime.TryParseExact(txtDateStart.Text, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out answ);
return answ;
}
set
{
txtDateStart.Text = $"{value:yyyy-MM-dd}";
}
}
#endregion Protected Properties
#region Private Methods
private void Cmp_numRow_eh_doRefresh(object sender, EventArgs e)
{
// recupero num righe ed aggiorno...
grView.PageSize = cmp_numRow.numRow;
grView.DataBind();
}
private void updateGraph()
{
string PlaceCod = ddlMachine.SelectedValue != "*" ? ddlMachine.SelectedValue : "[ALL]";
cmp_DailyStatsPlot.PlaceCod = PlaceCod;
cmp_DailyStatsPlot.PlotType = ddlType.SelectedValue;
cmp_DailyStatsPlot.Legend = traduci($"rep_{ddlType.SelectedValue}");
cmp_DailyStatsPlot.DateStart = DateStart;
cmp_DailyStatsPlot.DateEnd = DateEnd;
}
#endregion Private Methods
#region Protected Methods
protected void chkPlotGraph_CheckedChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void ddlMachine_SelectedIndexChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void ddlPlaces_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void ddlType_SelectedIndexChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void grView_PageIndexChanged(object sender, EventArgs e)
{
}
/// <summary>
/// Caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
cmp_numRow.numRow = 10;
grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false;
divType.Visible = false;
DateEnd = DateTime.Today.AddDays(1);
DateStart = DateEnd.AddDays(-10);
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
}
protected void txtDateEnd_TextChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void txtDateStart_TextChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void txtNumShow_TextChanged(object sender, EventArgs e)
{
doUpdate();
}
#endregion Protected Methods
#region Public Methods
public void doUpdate()
{
divGraph.Visible = chkPlotGraph.Checked;
divType.Visible = chkPlotGraph.Checked;
if (chkPlotGraph.Checked)
{
updateGraph();
}
grView.DataBind();
}
public double ratioCalc(object _num, object _den)
{
double answ = 0;
double num = 0;
double den = 1;
double.TryParse($"{_num}", out num);
double.TryParse($"{_den}", out den);
den = den != 0 ? den : 1;
try
{
answ = (num / den);
}
catch
{ }
return answ;
}
public string ratioFix(object _num, object _den)
{
string answ = "";
double num = 0;
double den = 1;
double.TryParse($"{_num}", out num);
double.TryParse($"{_den}", out den);
den = den != 0 ? den : 1;
try
{
answ = $"{(num / den):P2}";
}
catch
{ }
return answ;
}
#endregion Public Methods
}
}