1f7b3ff79f
git-svn-id: https://keyhammer.ath.cx/svn/GMW/trunk@483 365432ac-a1b5-4ffd-bb28-6d3099d32164
213 lines
6.4 KiB
C#
213 lines
6.4 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using System.Collections;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Web.UI.HtmlControls;
|
|
using SteamWare;
|
|
|
|
public partial class mod_periodoAnalisi : System.Web.UI.UserControl
|
|
{
|
|
#region area protected
|
|
|
|
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 DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
intervalloDate _intervallo = new intervalloDate();
|
|
// verifico cosa sia cambiato ed imposto date...
|
|
datario _datario = new datario();
|
|
switch (DropDownList1.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;
|
|
default:
|
|
break;
|
|
}
|
|
intervalloAnalisi = _intervallo;
|
|
aggiornaDateMostrate();
|
|
}
|
|
|
|
private void aggiornaDateMostrate()
|
|
{
|
|
txtInizio.Text = intervalloAnalisi.inizio.ToShortDateString();
|
|
txtFine.Text = intervalloAnalisi.fine.AddDays(-1).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();
|
|
_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.ToShortDateString();
|
|
txtFine.Text = _intervallo.fine.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)
|
|
{
|
|
txtInizio.ToolTip = traduci("inizioPeriodo");
|
|
txtFine.ToolTip = traduci("finePeriodo");
|
|
}
|
|
}
|
|
protected void txtInizio_TextChanged(object sender, EventArgs e)
|
|
{
|
|
// imposto il selettore a discesa...
|
|
DropDownList1.SelectedIndex = 0;
|
|
// se campo vuoto imposto oggi...
|
|
if (txtInizio.Text == "")
|
|
{
|
|
txtInizio.Text = DateTime.Now.ToShortDateString();
|
|
}
|
|
else
|
|
{
|
|
txtInizio.Text = Convert.ToDateTime(txtInizio.Text).ToShortDateString();
|
|
}
|
|
// aggiorno dati in session...
|
|
aggiornaPeriodo();
|
|
}
|
|
|
|
private void aggiornaPeriodo()
|
|
{
|
|
_intervallo = new intervalloDate();
|
|
_intervallo.inizio = Convert.ToDateTime(txtInizio.Text);
|
|
_intervallo.fine = ((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...
|
|
DropDownList1.SelectedIndex = 0;
|
|
// se campo vuoto imposto oggi...
|
|
if (txtFine.Text == "")
|
|
{
|
|
txtFine.Text = DateTime.Now.AddDays(1).ToShortDateString();
|
|
}
|
|
else
|
|
{
|
|
txtFine.Text = 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()
|
|
{
|
|
// imposto come periodo libero
|
|
DropDownList1.SelectedIndex = 0;
|
|
// inserisco un intervallo date da parametro web.config
|
|
intervalloDate interv = new intervalloDate();
|
|
interv.fine = DateTime.Now.Date.AddDays(1);
|
|
interv.inizio = interv.fine.AddDays(memLayer.ML.confReadInt("defDayFrom"));
|
|
intervalloAnalisi = interv;
|
|
// update!
|
|
doUpdate();
|
|
}
|
|
|
|
#region gestione eventi
|
|
|
|
public event EventHandler eh_doUpdate;
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
}
|