diff --git a/GPW_Admin/Bundle.config b/GPW_Admin/Bundle.config
index 2ac8810..4116a06 100644
--- a/GPW_Admin/Bundle.config
+++ b/GPW_Admin/Bundle.config
@@ -1,13 +1,14 @@

-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/GPW_Admin/Content/OpenSans.woff b/GPW_Admin/Content/OpenSans.woff
new file mode 100644
index 0000000..55b25f8
Binary files /dev/null and b/GPW_Admin/Content/OpenSans.woff differ
diff --git a/GPW_Admin/Content/OpenSansCondensed.woff b/GPW_Admin/Content/OpenSansCondensed.woff
new file mode 100644
index 0000000..aedbd93
Binary files /dev/null and b/GPW_Admin/Content/OpenSansCondensed.woff differ
diff --git a/GPW_Admin/Content/Roboto.woff2 b/GPW_Admin/Content/Roboto.woff2
new file mode 100644
index 0000000..de83f9c
Binary files /dev/null and b/GPW_Admin/Content/Roboto.woff2 differ
diff --git a/GPW_Admin/Content/RobotoCondensed.woff2 b/GPW_Admin/Content/RobotoCondensed.woff2
new file mode 100644
index 0000000..d7ab7af
Binary files /dev/null and b/GPW_Admin/Content/RobotoCondensed.woff2 differ
diff --git a/GPW_Admin/Content/font.less b/GPW_Admin/Content/font.less
new file mode 100644
index 0000000..cc6208e
--- /dev/null
+++ b/GPW_Admin/Content/font.less
@@ -0,0 +1,27 @@
+/*@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: url('OpenSans.woff') format('woff');
+}
+
+@font-face {
+ font-family: 'Open Sans Condensed';
+ font-style: normal;
+ font-weight: 300;
+ src: url('OpenSansCondensed.woff') format('woff');
+}*/
+
+@font-face {
+ font-family: 'Roboto';
+ font-style: normal;
+ font-weight: 400;
+ src: url('Roboto.woff2') format('woff2');
+}
+
+@font-face {
+ font-family: 'Roboto Condensed';
+ font-style: normal;
+ font-weight: 300;
+ src: url('RobotoCondensed.woff2') format('woff2');
+}
diff --git a/GPW_Admin/GPW_Admin.csproj b/GPW_Admin/GPW_Admin.csproj
index 3ab4b78..0031a3a 100644
--- a/GPW_Admin/GPW_Admin.csproj
+++ b/GPW_Admin/GPW_Admin.csproj
@@ -314,6 +314,8 @@
+
+
@@ -396,6 +398,11 @@
+
+
+
+
+
diff --git a/GPW_Admin/WebUserControls/mod_adminProgetti.ascx.cs b/GPW_Admin/WebUserControls/mod_adminProgetti.ascx.cs
index ffde110..bf5a157 100644
--- a/GPW_Admin/WebUserControls/mod_adminProgetti.ascx.cs
+++ b/GPW_Admin/WebUserControls/mod_adminProgetti.ascx.cs
@@ -187,7 +187,7 @@ namespace GPW_Admin.WebUserControls
// imposto intervallo date...10 anni...
intervalloDate date = new intervalloDate();
date.fine = DateTime.Now.Date.AddDays(1);
- date.inizio = date.fine.AddYears(-10);
+ date.inizio = date.fine.AddYears(-20);
mod_periodoAnalisi1.intervalloAnalisi = date;
// svuoto variabili sessione
memLayer.ML.emptySessionVal("idxProgetto_sel");
diff --git a/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx b/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx
index 001e1dd..5ed241a 100644
--- a/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx
+++ b/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx
@@ -74,6 +74,8 @@
ultimi 30gg
questo anno
1 anno
+ 10 anni
+ 2000 +
diff --git a/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx.cs b/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx.cs
index 8f75b50..e8bae7b 100644
--- a/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx.cs
+++ b/GPW_Admin/WebUserControls/mod_periodoAnalisi.ascx.cs
@@ -13,345 +13,352 @@ using SteamWare;
public partial class mod_periodoAnalisi : System.Web.UI.UserControl
{
- #region area protected
+ #region area protected
- protected intervalloDate _intervallo;
+ protected intervalloDate _intervallo;
- public string uid
- {
- get
+ public string uid
{
- return this.UniqueID.Replace("$", "_").Replace("-", "_");
+ get
+ {
+ return this.UniqueID.Replace("$", "_").Replace("-", "_");
+ }
}
- }
- ///
- /// avvio componente
- ///
- ///
- protected override void OnInit(EventArgs e)
- {
- base.OnInit(e);
- setIntervallo();
- setDurataMin();
- }
- ///
- /// definisce se sia da mostrare il selettore delle ore nel controllo
- ///
- protected bool mostraSelOra
- {
- get
+ ///
+ /// avvio componente
+ ///
+ ///
+ protected override void OnInit(EventArgs e)
{
- bool answ = false;
- if (memLayer.ML.isInSessionObject("mostraSelOra"))
- {
- answ = memLayer.ML.BoolSessionObj("mostraSelOra");
- }
- else
- {
- // leggo da sessione e salvo...
+ base.OnInit(e);
+ setIntervallo();
+ setDurataMin();
+ }
+ ///
+ /// definisce se sia da mostrare il selettore delle ore nel controllo
+ ///
+ protected bool mostraSelOra
+ {
+ get
+ {
+ bool answ = false;
+ if (memLayer.ML.isInSessionObject("mostraSelOra"))
+ {
+ answ = memLayer.ML.BoolSessionObj("mostraSelOra");
+ }
+ else
+ {
+ // leggo da sessione e salvo...
+ try
+ {
+ answ = memLayer.ML.confReadBool("mostraSelOra");
+ }
+ catch
+ { }
+ memLayer.ML.setSessionVal("mostraSelOra", answ);
+ }
+ return answ;
+ }
+ }
+
+ ///
+ /// 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;
+ case "mese precedente":
+ _intervallo = _datario.mesePrecedente(DateTime.Now);
+ break;
+ case "questo anno":
+ _intervallo = _datario.estremiAnno(DateTime.Now);
+ break;
+ case "1 anno":
+ _intervallo = _datario.ultimiGiorni(DateTime.Now, 366);
+ break;
+ case "10 anni":
+ _intervallo = _datario.ultimiGiorni(DateTime.Now, 3660);
+ break;
+ case "2000 +":
+ DateTime anno2000 = new DateTime(2000, 1, 1);
+ _intervallo = _datario.setIntervallo(anno2000, DateTime.Now.AddDays(1));
+ break;
+ default:
+ break;
+ }
+ if ((intervalloAnalisi.inizio != _intervallo.inizio) || (intervalloAnalisi.fine != _intervallo.fine))
+ {
+ verificaCoerenzaDate();
+ aggiornaDateMostrate(realtimeUpdate);
+ // mostro btn update
+ btnUpdate.Visible = !realtimeUpdate;
+ }
+ }
+ ///
+ /// 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");
+ if (mostraSelOra)
+ {
+ ddlOraInizio.Visible = true;
+ ddlOraFine.Visible = true;
+ }
+ else
+ {
+ ddlOraInizio.Visible = false;
+ ddlOraFine.Visible = false;
+ }
+ }
+ ///
+ /// imposta intervallo da sessione o di default
+ ///
+ private void setIntervallo()
+ {
+ intervalloDate _intervallo;
try
{
- answ = memLayer.ML.confReadBool("mostraSelOra");
+ _intervallo = (intervalloDate)Session["_intervallo"];
}
catch
- { }
- memLayer.ML.setSessionVal("mostraSelOra", answ);
- }
- return answ;
+ {
+ _intervallo = new intervalloDate();
+ _intervallo.inizio = DateTime.Now.AddDays(memLayer.ML.confReadInt("defDayFrom"));
+ _intervallo.fine = DateTime.Now.AddDays(1);
+ Session["_intervallo"] = _intervallo;
+ Session["_inizio"] = _intervallo.inizio;
+ Session["_fine"] = _intervallo.fine;
+ }
+ scriviDate();
}
- }
-
- ///
- /// 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)
+ ///
+ /// imposta durata minima
+ ///
+ private void setDurataMin()
{
- 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;
- case "mese precedente":
- _intervallo = _datario.mesePrecedente(DateTime.Now);
- break;
- case "questo anno":
- _intervallo = _datario.estremiAnno(DateTime.Now);
- break;
- case "1 anno":
- _intervallo = _datario.ultimiGiorni(DateTime.Now, 366);
- break;
- default:
- break;
+ int _durataMin;
+ try
+ {
+ _durataMin = (int)Session["_durataMin"];
+ }
+ catch
+ {
+ _durataMin = 0;
+ Session["_durataMin"] = _durataMin;
+ }
+ txtDurataMin.Text = _durataMin.ToString();
}
- if ((intervalloAnalisi.inizio != _intervallo.inizio) || (intervalloAnalisi.fine != _intervallo.fine))
+ protected void Page_Load(object sender, EventArgs e)
{
- verificaCoerenzaDate();
- aggiornaDateMostrate(realtimeUpdate);
- // mostro btn update
- btnUpdate.Visible = !realtimeUpdate;
+ lblPeriodo.Text = "Periodo";
+ 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";
}
- }
- ///
- /// 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");
- if (mostraSelOra)
- {
- ddlOraInizio.Visible = true;
- ddlOraFine.Visible = true;
- }
- else
- {
- ddlOraInizio.Visible = false;
- ddlOraFine.Visible = false;
- }
- }
- ///
- /// imposta intervallo da sessione o di default
- ///
- private void setIntervallo()
- {
- intervalloDate _intervallo;
- try
- {
- _intervallo = (intervalloDate)Session["_intervallo"];
- }
- catch
- {
- _intervallo = new intervalloDate();
- _intervallo.inizio = DateTime.Now.AddDays(memLayer.ML.confReadInt("defDayFrom"));
- _intervallo.fine = DateTime.Now.AddDays(1);
- Session["_intervallo"] = _intervallo;
- Session["_inizio"] = _intervallo.inizio;
- Session["_fine"] = _intervallo.fine;
- }
- scriviDate();
- }
- ///
- /// imposta durata minima
- ///
- 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)
- {
- lblPeriodo.Text = "Periodo";
- 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 = 0;
- int oraFine = 0;
- if (mostraSelOra)
+ private void aggiornaPeriodo()
{
- oraInizio = Convert.ToInt32(ddlOraInizio.SelectedValue);
- 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();
+ _intervallo = new intervalloDate();
+ // calcolo tempi arrotondati
+ int oraInizio = 0;
+ int oraFine = 0;
+ if (mostraSelOra)
+ {
+ oraInizio = Convert.ToInt32(ddlOraInizio.SelectedValue);
+ 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.fine = _intervallo.inizio.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();
- checkIfUpdate();
- }
- ///
- /// evento cambio testo data fine
- ///
- ///
- ///
- protected void txtFine_TextChanged(object sender, EventArgs e)
- {
- // imposto il selettore a discesa...
- setPeriodoFree();
- checkIfUpdate();
- }
- ///
- /// controlla se aggiornare subito o mostrare update (a seconda del valore di realtime update...)
- ///
- private void checkIfUpdate()
- {
- // se richiesto realtime
- if (realtimeUpdate)
+ ///
+ /// verifica che le date dell'intervallo siano coerenti (inizio < fine)
+ ///
+ private void verificaCoerenzaDate()
{
- aggiornaPeriodo();
- // nascondo btn update
- btnUpdate.Visible = false;
+ // 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.fine = _intervallo.inizio.AddDays(1);
+ }
+ //intervalloAnalisi = _intervallo;
+ aggiornaDateMostrate(false);
}
- else
+ ///
+ /// evento cambio testo data inizio
+ ///
+ ///
+ ///
+ protected void txtInizio_TextChanged(object sender, EventArgs e)
{
- // altrimenti mostro btn update
- btnUpdate.Visible = true;
+ // imposto il selettore a discesa...
+ setPeriodoFree();
+ checkIfUpdate();
}
- }
- ///
- /// 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)
+ ///
+ /// evento cambio testo data fine
+ ///
+ ///
+ ///
+ protected void txtFine_TextChanged(object sender, EventArgs e)
{
- eh_doUpdate(this, new EventArgs());
+ // imposto il selettore a discesa...
+ setPeriodoFree();
+ checkIfUpdate();
+ }
+ ///
+ /// controlla se aggiornare subito o mostrare update (a seconda del valore di realtime update...)
+ ///
+ private void checkIfUpdate()
+ {
+ // se richiesto realtime
+ if (realtimeUpdate)
+ {
+ aggiornaPeriodo();
+ // nascondo btn update
+ btnUpdate.Visible = false;
+ }
+ else
+ {
+ // altrimenti 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
+ #endregion
- #region area public
+ #region area public
- public intervalloDate intervalloAnalisi
- {
- get
+ public intervalloDate intervalloAnalisi
{
- return (intervalloDate)Session["_intervallo"];
+ get
+ {
+ return (intervalloDate)Session["_intervallo"];
+ }
+ set
+ {
+ intervalloDate interv = value;
+ Session["_intervallo"] = interv;
+ Session["_inizio"] = interv.inizio;
+ Session["_fine"] = interv.fine;
+ aggiornaDateMostrate(false);
+ }
}
- set
+ ///
+ /// effettua update
+ ///
+ ///
+ public void doUpdate(bool doReportUpdate)
{
- intervalloDate interv = value;
- Session["_intervallo"] = interv;
- Session["_inizio"] = interv.inizio;
- Session["_fine"] = interv.fine;
- aggiornaDateMostrate(false);
+ aggiornaDateMostrate(doReportUpdate);
}
- }
- ///
- /// effettua update
- ///
- ///
- public void doUpdate(bool doReportUpdate)
- {
- aggiornaDateMostrate(doReportUpdate);
- }
- ///
- /// imposta periodo libero di selezione
- ///
- public void setPeriodoFree()
- {
- DropDownList1.SelectedIndex = 0;
- }
- ///
- /// imposta realtime update (non mostra button am fa subito update)
- ///
- public bool realtimeUpdate
- {
- get
+ ///
+ /// imposta periodo libero di selezione
+ ///
+ public void setPeriodoFree()
{
- return memLayer.ML.BoolSessionObj("rltUpdatePeriodo");
+ DropDownList1.SelectedIndex = 0;
}
- set
+ ///
+ /// imposta realtime update (non mostra button am fa subito update)
+ ///
+ public bool realtimeUpdate
{
- memLayer.ML.setSessionVal("rltUpdatePeriodo", value);
+ get
+ {
+ return memLayer.ML.BoolSessionObj("rltUpdatePeriodo");
+ }
+ set
+ {
+ memLayer.ML.setSessionVal("rltUpdatePeriodo", value);
+ }
}
- }
- #region gestione eventi
+ #region gestione eventi
- public event EventHandler eh_doUpdate;
+ public event EventHandler eh_doUpdate;
- #endregion
+ #endregion
- #endregion
+ #endregion
}
diff --git a/GPW_Admin/images/favicon.ico b/GPW_Admin/images/favicon.ico
new file mode 100644
index 0000000..70ccada
Binary files /dev/null and b/GPW_Admin/images/favicon.ico differ
diff --git a/GPW_Admin/images/favicon.png b/GPW_Admin/images/favicon.png
new file mode 100644
index 0000000..ae6349b
Binary files /dev/null and b/GPW_Admin/images/favicon.png differ
diff --git a/Jenkinsfile b/Jenkinsfile
index 561125f..633105f 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -10,7 +10,7 @@ pipeline {
steps {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
- withEnv(['NEXT_BUILD_NUMBER=4113']) {
+ withEnv(['NEXT_BUILD_NUMBER=4114']) {
// env.versionNumber = VersionNumber(versionNumberString : '2.6.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '2.6.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'GPW'