From 3fbd3b5c48e5e0e237da0a61dfe8709ef9f9dd5a Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 9 Oct 2018 12:19:07 +0200 Subject: [PATCH] refresh padding --- .../mod_periodoAnalisi.ascx.cs | 616 +++++++++--------- 1 file changed, 308 insertions(+), 308 deletions(-) diff --git a/MP-Site/WebUserControls/mod_periodoAnalisi.ascx.cs b/MP-Site/WebUserControls/mod_periodoAnalisi.ascx.cs index c6308030..72843999 100644 --- a/MP-Site/WebUserControls/mod_periodoAnalisi.ascx.cs +++ b/MP-Site/WebUserControls/mod_periodoAnalisi.ascx.cs @@ -3,314 +3,314 @@ using System; namespace MoonPro.WebUserControls { - public partial class mod_periodoAnalisi : System.Web.UI.UserControl + public partial class mod_periodoAnalisi : System.Web.UI.UserControl + { + #region area protected + + protected intervalloDate _intervallo; + + protected override void OnInit(EventArgs e) { - #region area protected - - protected intervalloDate _intervallo; - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - setIntervallo(); - setDurataMin(); - } - - /// - /// gestione del selettore rapido dell'intervallo temporale... - /// - /// - /// - protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) - { - // verifico cosa sia cambiato ed imposto date... - datario _datario = new datario(); - switch (DropDownList1.SelectedValue) - { - case "oggi": - _intervallo = _datario.giornata(DateTime.Now); - break; - case "ieri": - _intervallo = _datario.giornata(DateTime.Now.AddDays(-1)); - break; - case "ultimi 7gg": - _intervallo = _datario.ultimiGiorni(DateTime.Now, 7); - break; - case "questa settimana": - _intervallo = _datario.questaSett(DateTime.Now); - break; - case "ultimi 30gg": - _intervallo = _datario.ultimiGiorni(DateTime.Now, 30); - break; - case "questo mese": - _intervallo = _datario.questoMese(DateTime.Now); - break; - default: - break; - } - if ((intervalloAnalisi.inizio != _intervallo.inizio) || (intervalloAnalisi.fine != _intervallo.fine)) - { - verificaCoerenzaDate(); - aggiornaDateMostrate(false); - // mostro btn update - btnUpdate.Visible = true; - } - } - /// - /// effettua update delle date mostrate da intervallo analisi (ed eventualmente riporta update...) - /// - /// - private void aggiornaDateMostrate(bool doReportUpdate) - { - scriviDate(); - if (doReportUpdate) - { - reportUpdate(); - } - } - /// - /// scrive nuove date in controllo - /// - private void scriviDate() - { - // se intervallo non è valorizzato leggo da sessione... - if (!_intervallo.isValid) - { - _intervallo = intervalloAnalisi; - } - txtInizio.Text = _intervallo.inizio.ToShortDateString(); - ddlOraInizio.SelectedValue = _intervallo.inizio.Hour.ToString("00"); - txtFine.Text = _intervallo.fine.ToShortDateString(); - ddlOraFine.SelectedValue = _intervallo.fine.Hour.ToString("00"); - } - - private void setIntervallo() - { - intervalloDate _intervallo; - try - { - _intervallo = (intervalloDate)Session["_intervallo"]; - } - catch - { - _intervallo = new intervalloDate(); - _intervallo.inizio = DateTime.Now.AddDays(-7); - _intervallo.fine = DateTime.Now; - Session["_intervallo"] = _intervallo; - Session["_inizio"] = _intervallo.inizio; - Session["_fine"] = _intervallo.fine; - } - scriviDate(); - } - private void setDurataMin() - { - int _durataMin; - try - { - _durataMin = (int)Session["_durataMin"]; - } - catch - { - _durataMin = 0; - Session["_durataMin"] = _durataMin; - } - txtDurataMin.Text = _durataMin.ToString(); - } - protected void Page_Load(object sender, EventArgs e) - { - txtInizio.ToolTip = "inizio periodo di riferimento per i dati mostrati"; - txtFine.ToolTip = "fine periodo di riferimento per i dati mostrati"; - lblDurataMin.Text = "Visualizza eventi con durata superiore a"; - } - - - private void aggiornaPeriodo() - { - _intervallo = new intervalloDate(); - // calcolo tempi arrotondati - int oraInizio = Convert.ToInt32(ddlOraInizio.SelectedValue); - int oraFine = Convert.ToInt32(ddlOraFine.SelectedValue); - _intervallo.inizio = Convert.ToDateTime(txtInizio.Text).AddHours(oraInizio); - _intervallo.fine = Convert.ToDateTime(txtFine.Text).AddHours(oraFine); - verificaCoerenzaDate(); - int _durataMin; - _durataMin = Convert.ToInt32(txtDurataMin.Text); - Session["_durataMin"] = _durataMin; - reportUpdate(); - - } - /// - /// verifica che le date dell'intervallo siano coerenti (inizio < fine) - /// - private void verificaCoerenzaDate() - { - // controllo date siano coerenti (fine > inizio)... - if (_intervallo.inizio >= _intervallo.fine) - { - // controllo non siano date successive ad oggi... - if (_intervallo.fine > DateTime.Now) - { - _intervallo.fine = DateTime.Now; - } - _intervallo.inizio = _intervallo.fine.AddDays(-1); - } - //intervalloAnalisi = _intervallo; - aggiornaDateMostrate(false); - } - /// - /// evento cambio testo data inizio - /// - /// - /// - protected void txtInizio_TextChanged(object sender, EventArgs e) - { - // imposto il selettore a discesa... - setPeriodoFree(); - // mostro btn update - btnUpdate.Visible = true; - } - /// - /// evento cambio testo data fine - /// - /// - /// - protected void txtFine_TextChanged(object sender, EventArgs e) - { - // imposto il selettore a discesa... - setPeriodoFree(); - // mostro btn update - btnUpdate.Visible = true; - } - /// - /// in questo caso faccio udpate periodo mostrato - /// - /// - /// - protected void btnUpdate_Click(object sender, EventArgs e) - { - aggiornaPeriodo(); - // nascondo btn update - btnUpdate.Visible = false; - } - /// - /// riporta aggiornamento a controller - /// - protected void reportUpdate() - { - intervalloAnalisi = _intervallo; - // 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; - } - } - /// - /// effettua update - /// - /// - public void doUpdate(bool doReportUpdate) - { - aggiornaDateMostrate(doReportUpdate); - } - /// - /// imposta periodo libero di selezione - /// - public void setPeriodoFree() - { - DropDownList1.SelectedIndex = 0; - } - - #region gestione eventi - - public event EventHandler eh_doUpdate; - - #endregion - - /// - /// effettua uno zoom 2 X sulle date attuali - /// - public void dateZoom() - { - // calcolo zoom 2X - double intervMinutiOrig = intervalloAnalisi.fine.Subtract(intervalloAnalisi.inizio).TotalMinutes; - // leggo data in cui lo zoom era centrato... - DateTime centroZoom = Convert.ToDateTime(memLayer.ML.objSessionObj("zoomCenter")); - // calcolo posizione relativa zoom... - double posizioneZoom = centroZoom.Subtract(intervalloAnalisi.inizio).TotalMinutes / intervMinutiOrig; - // init! - _intervallo = intervalloAnalisi; - // verifico che azione fare - if (posizioneZoom < 0.25) // se è nel 1/4 lascio zoom inalterato e "vado a sx" di 1/2 intervallo - { - if (intervMinutiOrig > 120) - { - _intervallo.inizio = _intervallo.inizio.AddMinutes(-intervMinutiOrig / 2.0); - _intervallo.fine = _intervallo.fine.AddMinutes(-intervMinutiOrig / 2.0); - } - else - { - _intervallo.inizio = _intervallo.inizio.AddMinutes(-60); - _intervallo.fine = _intervallo.fine.AddMinutes(-60); - } - } - else if (posizioneZoom > 0.75) // se è nel 3/4 lascio zoom inalterato e "vado a dx" - { - // mi imposto al max tra spostamento di 1/2 e l'ultimo dato disponibile... - if (intervMinutiOrig > 120) - { - _intervallo.fine = _intervallo.fine.AddMinutes(intervMinutiOrig / 2.0); - if (_intervallo.fine > DateTime.Now) - { - _intervallo.fine = DateTime.Now; - } - _intervallo.inizio = _intervallo.fine.AddMinutes(-intervMinutiOrig); - } - else - { - _intervallo.inizio = _intervallo.inizio.AddMinutes(60); - _intervallo.fine = _intervallo.fine.AddMinutes(60); - } - } - else // zoom!!! - { - if (intervMinutiOrig > 120) - { - _intervallo.inizio = _intervallo.inizio.AddMinutes(intervMinutiOrig / 4.0); - _intervallo.fine = _intervallo.fine.AddMinutes(-intervMinutiOrig / 4.0); - } - else // 1 ora di zoom! - { - _intervallo.inizio = _intervallo.inizio.Date.AddHours(_intervallo.inizio.TimeOfDay.Hours); - _intervallo.fine = _intervallo.inizio.AddHours(1); - } - } - // arrotondo all'ora... - _intervallo.inizio = _intervallo.inizio.Date.AddHours(_intervallo.inizio.TimeOfDay.Hours); - _intervallo.fine = _intervallo.fine.Date.AddHours(_intervallo.fine.TimeOfDay.Hours); - // aggiorno in sessione - intervalloAnalisi = _intervallo; - Response.Redirect("~/DettaglioMacchina.aspx"); - } - - #endregion + base.OnInit(e); + setIntervallo(); + setDurataMin(); } + + /// + /// gestione del selettore rapido dell'intervallo temporale... + /// + /// + /// + protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) + { + // verifico cosa sia cambiato ed imposto date... + datario _datario = new datario(); + switch (DropDownList1.SelectedValue) + { + case "oggi": + _intervallo = _datario.giornata(DateTime.Now); + break; + case "ieri": + _intervallo = _datario.giornata(DateTime.Now.AddDays(-1)); + break; + case "ultimi 7gg": + _intervallo = _datario.ultimiGiorni(DateTime.Now, 7); + break; + case "questa settimana": + _intervallo = _datario.questaSett(DateTime.Now); + break; + case "ultimi 30gg": + _intervallo = _datario.ultimiGiorni(DateTime.Now, 30); + break; + case "questo mese": + _intervallo = _datario.questoMese(DateTime.Now); + break; + default: + break; + } + if ((intervalloAnalisi.inizio != _intervallo.inizio) || (intervalloAnalisi.fine != _intervallo.fine)) + { + verificaCoerenzaDate(); + aggiornaDateMostrate(false); + // mostro btn update + btnUpdate.Visible = true; + } + } + /// + /// effettua update delle date mostrate da intervallo analisi (ed eventualmente riporta update...) + /// + /// + private void aggiornaDateMostrate(bool doReportUpdate) + { + scriviDate(); + if (doReportUpdate) + { + reportUpdate(); + } + } + /// + /// scrive nuove date in controllo + /// + private void scriviDate() + { + // se intervallo non è valorizzato leggo da sessione... + if (!_intervallo.isValid) + { + _intervallo = intervalloAnalisi; + } + txtInizio.Text = _intervallo.inizio.ToShortDateString(); + ddlOraInizio.SelectedValue = _intervallo.inizio.Hour.ToString("00"); + txtFine.Text = _intervallo.fine.ToShortDateString(); + ddlOraFine.SelectedValue = _intervallo.fine.Hour.ToString("00"); + } + + private void setIntervallo() + { + intervalloDate _intervallo; + try + { + _intervallo = (intervalloDate)Session["_intervallo"]; + } + catch + { + _intervallo = new intervalloDate(); + _intervallo.inizio = DateTime.Now.AddDays(-7); + _intervallo.fine = DateTime.Now; + Session["_intervallo"] = _intervallo; + Session["_inizio"] = _intervallo.inizio; + Session["_fine"] = _intervallo.fine; + } + scriviDate(); + } + private void setDurataMin() + { + int _durataMin; + try + { + _durataMin = (int)Session["_durataMin"]; + } + catch + { + _durataMin = 0; + Session["_durataMin"] = _durataMin; + } + txtDurataMin.Text = _durataMin.ToString(); + } + protected void Page_Load(object sender, EventArgs e) + { + txtInizio.ToolTip = "inizio periodo di riferimento per i dati mostrati"; + txtFine.ToolTip = "fine periodo di riferimento per i dati mostrati"; + lblDurataMin.Text = "Visualizza eventi con durata superiore a"; + } + + + private void aggiornaPeriodo() + { + _intervallo = new intervalloDate(); + // calcolo tempi arrotondati + int oraInizio = Convert.ToInt32(ddlOraInizio.SelectedValue); + int oraFine = Convert.ToInt32(ddlOraFine.SelectedValue); + _intervallo.inizio = Convert.ToDateTime(txtInizio.Text).AddHours(oraInizio); + _intervallo.fine = Convert.ToDateTime(txtFine.Text).AddHours(oraFine); + verificaCoerenzaDate(); + int _durataMin; + _durataMin = Convert.ToInt32(txtDurataMin.Text); + Session["_durataMin"] = _durataMin; + reportUpdate(); + + } + /// + /// verifica che le date dell'intervallo siano coerenti (inizio < fine) + /// + private void verificaCoerenzaDate() + { + // controllo date siano coerenti (fine > inizio)... + if (_intervallo.inizio >= _intervallo.fine) + { + // controllo non siano date successive ad oggi... + if (_intervallo.fine > DateTime.Now) + { + _intervallo.fine = DateTime.Now; + } + _intervallo.inizio = _intervallo.fine.AddDays(-1); + } + //intervalloAnalisi = _intervallo; + aggiornaDateMostrate(false); + } + /// + /// evento cambio testo data inizio + /// + /// + /// + protected void txtInizio_TextChanged(object sender, EventArgs e) + { + // imposto il selettore a discesa... + setPeriodoFree(); + // mostro btn update + btnUpdate.Visible = true; + } + /// + /// evento cambio testo data fine + /// + /// + /// + protected void txtFine_TextChanged(object sender, EventArgs e) + { + // imposto il selettore a discesa... + setPeriodoFree(); + // mostro btn update + btnUpdate.Visible = true; + } + /// + /// in questo caso faccio udpate periodo mostrato + /// + /// + /// + protected void btnUpdate_Click(object sender, EventArgs e) + { + aggiornaPeriodo(); + // nascondo btn update + btnUpdate.Visible = false; + } + /// + /// riporta aggiornamento a controller + /// + protected void reportUpdate() + { + intervalloAnalisi = _intervallo; + // 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; + } + } + /// + /// effettua update + /// + /// + public void doUpdate(bool doReportUpdate) + { + aggiornaDateMostrate(doReportUpdate); + } + /// + /// imposta periodo libero di selezione + /// + public void setPeriodoFree() + { + DropDownList1.SelectedIndex = 0; + } + + #region gestione eventi + + public event EventHandler eh_doUpdate; + + #endregion + + /// + /// effettua uno zoom 2 X sulle date attuali + /// + public void dateZoom() + { + // calcolo zoom 2X + double intervMinutiOrig = intervalloAnalisi.fine.Subtract(intervalloAnalisi.inizio).TotalMinutes; + // leggo data in cui lo zoom era centrato... + DateTime centroZoom = Convert.ToDateTime(memLayer.ML.objSessionObj("zoomCenter")); + // calcolo posizione relativa zoom... + double posizioneZoom = centroZoom.Subtract(intervalloAnalisi.inizio).TotalMinutes / intervMinutiOrig; + // init! + _intervallo = intervalloAnalisi; + // verifico che azione fare + if (posizioneZoom < 0.25) // se è nel 1/4 lascio zoom inalterato e "vado a sx" di 1/2 intervallo + { + if (intervMinutiOrig > 120) + { + _intervallo.inizio = _intervallo.inizio.AddMinutes(-intervMinutiOrig / 2.0); + _intervallo.fine = _intervallo.fine.AddMinutes(-intervMinutiOrig / 2.0); + } + else + { + _intervallo.inizio = _intervallo.inizio.AddMinutes(-60); + _intervallo.fine = _intervallo.fine.AddMinutes(-60); + } + } + else if (posizioneZoom > 0.75) // se è nel 3/4 lascio zoom inalterato e "vado a dx" + { + // mi imposto al max tra spostamento di 1/2 e l'ultimo dato disponibile... + if (intervMinutiOrig > 120) + { + _intervallo.fine = _intervallo.fine.AddMinutes(intervMinutiOrig / 2.0); + if (_intervallo.fine > DateTime.Now) + { + _intervallo.fine = DateTime.Now; + } + _intervallo.inizio = _intervallo.fine.AddMinutes(-intervMinutiOrig); + } + else + { + _intervallo.inizio = _intervallo.inizio.AddMinutes(60); + _intervallo.fine = _intervallo.fine.AddMinutes(60); + } + } + else // zoom!!! + { + if (intervMinutiOrig > 120) + { + _intervallo.inizio = _intervallo.inizio.AddMinutes(intervMinutiOrig / 4.0); + _intervallo.fine = _intervallo.fine.AddMinutes(-intervMinutiOrig / 4.0); + } + else // 1 ora di zoom! + { + _intervallo.inizio = _intervallo.inizio.Date.AddHours(_intervallo.inizio.TimeOfDay.Hours); + _intervallo.fine = _intervallo.inizio.AddHours(1); + } + } + // arrotondo all'ora... + _intervallo.inizio = _intervallo.inizio.Date.AddHours(_intervallo.inizio.TimeOfDay.Hours); + _intervallo.fine = _intervallo.fine.Date.AddHours(_intervallo.fine.TimeOfDay.Hours); + // aggiorno in sessione + intervalloAnalisi = _intervallo; + Response.Redirect("~/DettaglioMacchina.aspx"); + } + + #endregion + } } \ No newline at end of file