Files
MoonPro.net/MP-Site/WebUserControls/mod_sequencerStatiJS.ascx.cs
2018-11-10 11:26:40 +01:00

145 lines
3.2 KiB
C#

using SteamWare;
using System;
using System.Linq;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MP_SITE.WebUserControls
{
public partial class mod_sequencerStatiJS : System.Web.UI.UserControl
{
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// Idx macchina da plottare
/// </summary>
public string idxMacchina
{
get
{
return hfIdxMacc.Value;
}
set
{
hfIdxMacc.Value = value;
}
}
/// <summary>
/// Idx macchina da plottare
/// </summary>
public intervalloDate periodo
{
get
{
intervalloDate answ = new intervalloDate
{
inizio = Convert.ToDateTime(DataFrom),
fine = Convert.ToDateTime(DataTo)
};
return answ;
}
set
{
DataFrom = value.inizio.ToString("yyyy-MM-dd HH:00:00");
DataTo = value.fine.ToString("yyyy-MM-dd HH:00:00");
}
}
/// <summary>
/// Num gg x cui tornare indietro (e a seconda di quanti sono arrotonda al data...)
/// </summary>
public int numGG
{
set
{
// parto da oggi (a mezzanotte) + ora attuale (arrotondata difetto)
DateTime oggi = DateTime.Today;
int ora = DateTime.Now.Hour;
/* -----------------------------------------------
* Definizioni x arrotondamento:
* 01gg --> 1h
* 02-03gg --> 2h
* 04-07gg --> 4h
* 08-15gg --> 8h
* 16-31gg --> 16h
* >=32gg --> 24h (giornata a mezzanotte)
* -----------------------------------------------*/
// calcolo arrotondamento
int tRound = 1;
if (value >= 2 && value < 4)
{
tRound = 2;
}
else if (value >= 4 && value < 8)
{
tRound = 4;
}
else if (value >= 8 && value < 16)
{
tRound = 8;
}
else if (value >= 16 && value < 32)
{
tRound = 16;
}
else
{
tRound = 24;
}
// imposto data fine ARROTONDATA...
DataTo = oggi.AddHours((ora / tRound) * tRound).ToString("yyyy-MM-dd HH:00:00");
// imposto inizio...
DataFrom = oggi.AddHours((ora / tRound) * tRound).AddDays(-value).ToString("yyyy-MM-dd HH:00:00");
}
}
/// <summary>
/// Num split massimo di segmenti da plottare
/// </summary>
public string numSplit
{
get
{
return hfNumSplit.Value;
}
set
{
hfNumSplit.Value = value;
}
}
/// <summary>
/// Inizio periodo, formato yyyyMMdd
/// </summary>
public string DataFrom
{
get
{
return hfDataFrom.Value;
}
set
{
hfDataFrom.Value = value;
}
}
/// <summary>
/// Fine periodo, formato yyyyMMdd
/// </summary>
public string DataTo
{
get
{
return hfDataTo.Value;
}
set
{
hfDataTo.Value = value;
}
}
}
}