Merge branch 'SPS' into develop

This commit is contained in:
Samuele E. Locatelli
2020-07-21 13:54:20 +02:00
13 changed files with 354 additions and 310 deletions
+10 -9
View File
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<bundles version="1.0">
<styleBundle path="~/Content/css">
<include path="~/Content/Site.css" />
<include path="~/Content/Style.css" />
<include path="~/Content/font-awesome.css" />
</styleBundle>
<styleBundle path="~/Content/css">
<include path="~/Content/Site.css" />
<include path="~/Content/Style.css" />
<include path="~/Content/fonts.css" />
<include path="~/Content/font-awesome.css" />
</styleBundle>
<styleBundle path="~/Content/bootstrap">
<include path="~/Content/bootstrap.css" />
<include path="~/Content/bootstrap-theme.css" />
</styleBundle>
<styleBundle path="~/Content/bootstrap">
<include path="~/Content/bootstrap.css" />
<include path="~/Content/bootstrap-theme.css" />
</styleBundle>
</bundles>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+27
View File
@@ -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');
}
+7
View File
@@ -314,6 +314,8 @@
<Content Include="images\elimina_m.png" />
<Content Include="images\elimina_s.png" />
<Content Include="images\EmptyImg.png" />
<Content Include="images\favicon.ico" />
<Content Include="images\favicon.png" />
<Content Include="images\help_16.png" />
<Content Include="images\help_22.png" />
<Content Include="images\help_32.png" />
@@ -396,6 +398,11 @@
<Content Include="fonts\fontawesome-webfont.woff" />
<Content Include="fonts\fontawesome-webfont.ttf" />
<Content Include="fonts\fontawesome-webfont.eot" />
<Content Include="Content\font.less" />
<Content Include="Content\OpenSans.woff" />
<Content Include="Content\OpenSansCondensed.woff" />
<Content Include="Content\Roboto.woff2" />
<Content Include="Content\RobotoCondensed.woff2" />
<None Include="Properties\PublishProfiles\IISDEV.pubxml" />
<None Include="Scripts\jquery-3.4.1.intellisense.js" />
<Content Include="Scripts\jquery-3.4.1.js" />
@@ -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");
@@ -74,6 +74,8 @@
<asp:ListItem>ultimi 30gg</asp:ListItem>
<asp:ListItem>questo anno</asp:ListItem>
<asp:ListItem>1 anno</asp:ListItem>
<asp:ListItem>10 anni</asp:ListItem>
<asp:ListItem>2000 +</asp:ListItem>
</asp:DropDownList>
</div>
<div class="divSx">
@@ -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("-", "_");
}
}
}
/// <summary>
/// avvio componente
/// </summary>
/// <param name="e"></param>
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
setIntervallo();
setDurataMin();
}
/// <summary>
/// definisce se sia da mostrare il selettore delle ore nel controllo
/// </summary>
protected bool mostraSelOra
{
get
/// <summary>
/// avvio componente
/// </summary>
/// <param name="e"></param>
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();
}
/// <summary>
/// definisce se sia da mostrare il selettore delle ore nel controllo
/// </summary>
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;
}
}
/// <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)
{
// 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;
}
}
/// <summary>
/// effettua update delle date mostrate da intervallo analisi (ed eventualmente riporta update...)
/// </summary>
/// <param name="doReportUpdate"></param>
private void aggiornaDateMostrate(bool doReportUpdate)
{
scriviDate();
if (doReportUpdate)
{
reportUpdate();
}
}
/// <summary>
/// scrive nuove date in controllo
/// </summary>
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;
}
}
/// <summary>
/// imposta intervallo da sessione o di default
/// </summary>
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();
}
}
/// <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)
{
// verifico cosa sia cambiato ed imposto date...
datario _datario = new datario();
switch (DropDownList1.SelectedValue)
/// <summary>
/// imposta durata minima
/// </summary>
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";
}
}
/// <summary>
/// effettua update delle date mostrate da intervallo analisi (ed eventualmente riporta update...)
/// </summary>
/// <param name="doReportUpdate"></param>
private void aggiornaDateMostrate(bool doReportUpdate)
{
scriviDate();
if (doReportUpdate)
{
reportUpdate();
}
}
/// <summary>
/// scrive nuove date in controllo
/// </summary>
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;
}
}
/// <summary>
/// imposta intervallo da sessione o di default
/// </summary>
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();
}
/// <summary>
/// imposta durata minima
/// </summary>
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();
}
/// <summary>
/// verifica che le date dell'intervallo siano coerenti (inizio < fine)
/// </summary>
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);
}
/// <summary>
/// evento cambio testo data inizio
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtInizio_TextChanged(object sender, EventArgs e)
{
// imposto il selettore a discesa...
setPeriodoFree();
checkIfUpdate();
}
/// <summary>
/// evento cambio testo data fine
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtFine_TextChanged(object sender, EventArgs e)
{
// imposto il selettore a discesa...
setPeriodoFree();
checkIfUpdate();
}
/// <summary>
/// controlla se aggiornare subito o mostrare update (a seconda del valore di realtime update...)
/// </summary>
private void checkIfUpdate()
{
// se richiesto realtime
if (realtimeUpdate)
/// <summary>
/// verifica che le date dell'intervallo siano coerenti (inizio < fine)
/// </summary>
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
/// <summary>
/// evento cambio testo data inizio
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtInizio_TextChanged(object sender, EventArgs e)
{
// altrimenti mostro btn update
btnUpdate.Visible = true;
// imposto il selettore a discesa...
setPeriodoFree();
checkIfUpdate();
}
}
/// <summary>
/// in questo caso faccio udpate periodo mostrato
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUpdate_Click(object sender, EventArgs e)
{
aggiornaPeriodo();
// nascondo btn update
btnUpdate.Visible = false;
}
/// <summary>
/// riporta aggiornamento a controller
/// </summary>
protected void reportUpdate()
{
intervalloAnalisi = _intervallo;
// alzo l'evento d update/inserimento e ricarico cache...
if (eh_doUpdate != null)
/// <summary>
/// evento cambio testo data fine
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtFine_TextChanged(object sender, EventArgs e)
{
eh_doUpdate(this, new EventArgs());
// imposto il selettore a discesa...
setPeriodoFree();
checkIfUpdate();
}
/// <summary>
/// controlla se aggiornare subito o mostrare update (a seconda del valore di realtime update...)
/// </summary>
private void checkIfUpdate()
{
// se richiesto realtime
if (realtimeUpdate)
{
aggiornaPeriodo();
// nascondo btn update
btnUpdate.Visible = false;
}
else
{
// altrimenti mostro btn update
btnUpdate.Visible = true;
}
}
/// <summary>
/// in questo caso faccio udpate periodo mostrato
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUpdate_Click(object sender, EventArgs e)
{
aggiornaPeriodo();
// nascondo btn update
btnUpdate.Visible = false;
}
/// <summary>
/// riporta aggiornamento a controller
/// </summary>
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
/// <summary>
/// effettua update
/// </summary>
/// <param name="doReportUpdate"></param>
public void doUpdate(bool doReportUpdate)
{
intervalloDate interv = value;
Session["_intervallo"] = interv;
Session["_inizio"] = interv.inizio;
Session["_fine"] = interv.fine;
aggiornaDateMostrate(false);
aggiornaDateMostrate(doReportUpdate);
}
}
/// <summary>
/// effettua update
/// </summary>
/// <param name="doReportUpdate"></param>
public void doUpdate(bool doReportUpdate)
{
aggiornaDateMostrate(doReportUpdate);
}
/// <summary>
/// imposta periodo libero di selezione
/// </summary>
public void setPeriodoFree()
{
DropDownList1.SelectedIndex = 0;
}
/// <summary>
/// imposta realtime update (non mostra button am fa subito update)
/// </summary>
public bool realtimeUpdate
{
get
/// <summary>
/// imposta periodo libero di selezione
/// </summary>
public void setPeriodoFree()
{
return memLayer.ML.BoolSessionObj("rltUpdatePeriodo");
DropDownList1.SelectedIndex = 0;
}
set
/// <summary>
/// imposta realtime update (non mostra button am fa subito update)
/// </summary>
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
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Vendored
+1 -1
View File
@@ -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'