namespace MP.MONO.UI.Data
{
public class Utils
{
#region Public Methods
/// Inizializzazione con periodo e arrotondamento DataORa di riferimento Arrotondamento
/// desiderato Parametro arrotondamento: se > 0 per eccesso,
/// se <= 0 per difetto
public static DateTime RoundDatetime(DateTime dtRef, int minRound, int roundMode)
{
TimeSpan DayElapsed = dtRef.Subtract(dtRef.Date);
int minDay = 0;
if (roundMode > 0)
{
minDay = (int)Math.Ceiling((double)(DayElapsed.TotalMinutes / minRound)) * minRound;
}
else
{
minDay = (int)Math.Floor((double)(DayElapsed.TotalMinutes / minRound)) * minRound;
}
DateTime endRounded = dtRef.Date.AddMinutes(minDay);
return endRounded;
}
#endregion Public Methods
}
}