263 lines
8.2 KiB
C#
263 lines
8.2 KiB
C#
using SteamWare;
|
|
using System;
|
|
using System.Web.UI;
|
|
|
|
public partial class mod_periodoAnalisi : System.Web.UI.UserControl
|
|
{
|
|
#region area protected
|
|
|
|
/// <summary>
|
|
/// stringa UID univoca
|
|
/// </summary>
|
|
public string uid
|
|
{
|
|
get
|
|
{
|
|
return this.UniqueID.Replace("$", "_").Replace("-", "_");
|
|
}
|
|
}
|
|
|
|
|
|
protected intervalloDate _intervallo;
|
|
|
|
protected override void OnInit(EventArgs e)
|
|
{ base.OnInit(e);
|
|
setIntervallo();
|
|
}
|
|
|
|
/// <summary>
|
|
/// gestione del selettore rapido dell'intervallo temporale...
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void ddlPeriodo_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
intervalloDate _intervallo = new intervalloDate();
|
|
// verifico cosa sia cambiato ed imposto date...
|
|
datario _datario = new datario();
|
|
switch (ddlPeriodo.SelectedValue)
|
|
{
|
|
case "1_today":
|
|
_intervallo = _datario.giornata(DateTime.Now);
|
|
break;
|
|
case "2_yesterday":
|
|
_intervallo = _datario.giornata(DateTime.Now.AddDays(-1));
|
|
break;
|
|
case "3_last_7":
|
|
_intervallo = _datario.ultimiGiorni(DateTime.Now, 7);
|
|
break;
|
|
case "4_this_week":
|
|
_intervallo = _datario.questaSett(DateTime.Now);
|
|
break;
|
|
case "5_last_30":
|
|
_intervallo = _datario.ultimiGiorni(DateTime.Now, 30);
|
|
break;
|
|
case "6_this_month":
|
|
_intervallo = _datario.questoMese(DateTime.Now);
|
|
break;
|
|
case "7_last_month":
|
|
_intervallo = _datario.estremiMese(DateTime.Now.AddMonths(-1));
|
|
break;
|
|
case "8_this_year":
|
|
_intervallo = _datario.estremiAnno(DateTime.Now);
|
|
break;
|
|
case "9_last_year":
|
|
_intervallo = _datario.estremiAnno(DateTime.Now.AddYears(-1));
|
|
break;
|
|
case "10_next_7":
|
|
_intervallo = _datario.prossimiGiorni(DateTime.Now, 7);
|
|
break;
|
|
case "11_next_15":
|
|
_intervallo = _datario.prossimiGiorni(DateTime.Now, 15);
|
|
break;
|
|
case "12_next_30":
|
|
_intervallo = _datario.prossimiGiorni(DateTime.Now, 30);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
intervalloAnalisi = _intervallo;
|
|
aggiornaDateMostrate();
|
|
}
|
|
|
|
private void aggiornaDateMostrate()
|
|
{
|
|
txtInizio.Text = intervalloAnalisi.inizio.ToString(memLayer.ML.CRS("ddMMyyyy")); // .ToShortDateString();
|
|
txtFine.Text = intervalloAnalisi.fine.AddDays(-1).ToString(memLayer.ML.CRS("ddMMyyyy")); // .ToShortDateString(); // mostro 1 gg in meno xché termina alle 00:00...
|
|
reportUpdate();
|
|
}
|
|
|
|
private void setIntervallo()
|
|
{
|
|
intervalloDate _intervallo;
|
|
try
|
|
{
|
|
_intervallo = (intervalloDate)Session["_intervallo"];
|
|
}
|
|
catch
|
|
{
|
|
_intervallo = new intervalloDate();
|
|
// in base al tipo intervallo (futuro/all) decido cosa mostrare...
|
|
if(periodo== datario.periodo.future)
|
|
{
|
|
_intervallo.inizio = DateTime.Now.Subtract(DateTime.Now.TimeOfDay);
|
|
_intervallo.fine = _intervallo.inizio.AddDays(7);
|
|
}
|
|
else
|
|
{
|
|
_intervallo.fine = DateTime.Now.Subtract(DateTime.Now.TimeOfDay).AddDays(1);
|
|
_intervallo.inizio = _intervallo.fine.AddMonths(-1);
|
|
}
|
|
Session["_intervallo"] = _intervallo;
|
|
Session["_inizio"] = _intervallo.inizio;
|
|
Session["_fine"] = _intervallo.fine;
|
|
}
|
|
txtInizio.Text = _intervallo.inizio.ToString(memLayer.ML.CRS("ddMMyyyy")); //.ToShortDateString();
|
|
txtFine.Text = _intervallo.fine.ToString(memLayer.ML.CRS("ddMMyyyy")); //.ToShortDateString();
|
|
}
|
|
/// <summary>
|
|
/// wrapper traduzione
|
|
/// </summary>
|
|
/// <param name="lemma"></param>
|
|
/// <returns></returns>
|
|
public string traduci(object lemma)
|
|
{
|
|
return user_std.UtSn.Traduci(lemma.ToString());
|
|
}
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!Page.IsPostBack)
|
|
{
|
|
lblPeriodo.Text = traduci("periodoRif");
|
|
txtInizio.ToolTip = traduci("inizioPeriodo");
|
|
txtFine.ToolTip = traduci("finePeriodo");
|
|
CalendarExtender1.Format = memLayer.ML.CRS("ddMMyyyy");
|
|
CalendarExtender2.Format = memLayer.ML.CRS("ddMMyyyy");
|
|
}
|
|
}
|
|
protected void txtInizio_TextChanged(object sender, EventArgs e)
|
|
{
|
|
// imposto il selettore a discesa...
|
|
ddlPeriodo.SelectedIndex = 0;
|
|
// se campo vuoto imposto oggi...
|
|
if (txtInizio.Text == "")
|
|
{
|
|
txtInizio.Text = DateTime.Now.ToString(memLayer.ML.CRS("ddMMyyyy")); //.ToShortDateString();
|
|
}
|
|
else
|
|
{
|
|
txtInizio.Text = WebGimUtils.convDate(txtInizio.Text, memLayer.ML.CRS("ddMMyyyy"), memLayer.ML.CRS("culture")).ToString(memLayer.ML.CRS("ddMMyyyy")); //Convert.ToDateTime(txtInizio.Text).ToShortDateString();
|
|
}
|
|
// aggiorno dati in session...
|
|
aggiornaPeriodo();
|
|
}
|
|
|
|
private void aggiornaPeriodo()
|
|
{
|
|
_intervallo = new intervalloDate();
|
|
_intervallo.inizio = WebGimUtils.convDate(txtInizio.Text, memLayer.ML.CRS("ddMMyyyy"), memLayer.ML.CRS("culture")); // Convert.ToDateTime(txtInizio.Text);
|
|
_intervallo.fine = WebGimUtils.convDate(txtFine.Text, memLayer.ML.CRS("ddMMyyyy"), memLayer.ML.CRS("culture")).Date.AddDays(1); //((DateTime)Convert.ToDateTime(txtFine.Text)).Date.AddDays(1);
|
|
//_intervallo.fine = ((DateTime)Convert.ToDateTime(txtFine.Text)).Date.AddDays(1).AddMinutes(-1);
|
|
intervalloAnalisi = _intervallo;
|
|
reportUpdate();
|
|
|
|
}
|
|
protected void txtFine_TextChanged(object sender, EventArgs e)
|
|
{
|
|
// imposto il selettore a discesa...
|
|
ddlPeriodo.SelectedIndex = 0;
|
|
// se campo vuoto imposto oggi...
|
|
if (txtFine.Text == "")
|
|
{
|
|
txtFine.Text = DateTime.Now.AddDays(1).ToString(memLayer.ML.CRS("ddMMyyyy")); //.ToShortDateString();
|
|
}
|
|
else
|
|
{
|
|
txtFine.Text = WebGimUtils.convDate(txtFine.Text, memLayer.ML.CRS("ddMMyyyy"), memLayer.ML.CRS("culture")).ToString(memLayer.ML.CRS("ddMMyyyy")); //Convert.ToDateTime(txtFine.Text).ToShortDateString();
|
|
}
|
|
// aggiorno dati in session...
|
|
aggiornaPeriodo();
|
|
}
|
|
|
|
protected void reportUpdate()
|
|
{
|
|
// alzo l'evento d update/inserimento e ricarico cache...
|
|
if (eh_doUpdate != null)
|
|
{
|
|
eh_doUpdate(this, new EventArgs());
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region area public
|
|
|
|
public intervalloDate intervalloAnalisi
|
|
{
|
|
get
|
|
{
|
|
return (intervalloDate)Session["_intervallo"];
|
|
}
|
|
set
|
|
{
|
|
intervalloDate interv = value;
|
|
Session["_intervallo"] = interv;
|
|
Session["_inizio"] = interv.inizio;
|
|
Session["_fine"] = interv.fine;
|
|
}
|
|
}
|
|
|
|
public void doUpdate()
|
|
{
|
|
aggiornaDateMostrate();
|
|
}
|
|
|
|
public void setPeriodoFree()
|
|
{
|
|
ddlPeriodo.SelectedIndex = 0;
|
|
}
|
|
|
|
|
|
protected datario.periodo _periodo { get; set; }
|
|
|
|
/// <summary>
|
|
/// Tipologia periodo mostrato...
|
|
/// </summary>
|
|
public datario.periodo periodo
|
|
{
|
|
get
|
|
{
|
|
return _periodo;
|
|
}
|
|
set
|
|
{
|
|
_periodo = value;
|
|
switch (_periodo)
|
|
{
|
|
case datario.periodo.past:
|
|
hfTPer.Value = "-1";
|
|
break;
|
|
case datario.periodo.future:
|
|
hfTPer.Value = "1";
|
|
break;
|
|
case datario.periodo.all:
|
|
case datario.periodo.nd:
|
|
default:
|
|
hfTPer.Value = "0";
|
|
break;
|
|
}
|
|
ddlPeriodo.DataBind();
|
|
}
|
|
}
|
|
|
|
|
|
#region gestione eventi
|
|
|
|
public event EventHandler eh_doUpdate;
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
}
|