Adding
This commit is contained in:
+68
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
|
||||
namespace LCU.Library.Internal.IncentiveApiModels.Common
|
||||
{
|
||||
public sealed class MonthRange
|
||||
{
|
||||
public int FromMonth { get; }
|
||||
public int FromYear { get; }
|
||||
public int ToMonth { get; }
|
||||
public int ToYear { get; }
|
||||
|
||||
public MonthRange()
|
||||
{
|
||||
var today = DateTime.Today;
|
||||
FromMonth = today.Month;
|
||||
ToMonth = today.Month;
|
||||
FromYear = today.Year;
|
||||
ToYear = today.Year;
|
||||
}
|
||||
|
||||
public MonthRange(DateTime period)
|
||||
{
|
||||
FromMonth = period.Month;
|
||||
ToMonth = period.Month;
|
||||
FromYear = period.Year;
|
||||
ToYear = period.Year;
|
||||
}
|
||||
|
||||
public MonthRange(DateTime fromPeriod, DateTime toPeriod)
|
||||
{
|
||||
FromMonth = fromPeriod.Month;
|
||||
ToMonth = toPeriod.Month;
|
||||
FromYear = fromPeriod.Year;
|
||||
ToYear = toPeriod.Year;
|
||||
}
|
||||
|
||||
public MonthRange(int year, int month)
|
||||
{
|
||||
if (year < 1900 || month > 12)
|
||||
{
|
||||
throw new Exception("First Argument is Year, not month");
|
||||
}
|
||||
FromMonth = month;
|
||||
ToMonth = month;
|
||||
FromYear = year;
|
||||
ToYear = year;
|
||||
}
|
||||
|
||||
public MonthRange(int fromYear, int fromMonth, int toYear, int toMonth)
|
||||
{
|
||||
if (fromYear < 1900 || fromMonth > 12 || toYear < 1900 || toMonth > 12)
|
||||
{
|
||||
throw new Exception("Year arguments are first, they are likely swapped.");
|
||||
}
|
||||
FromMonth = fromMonth;
|
||||
ToMonth = toMonth;
|
||||
FromYear = fromYear;
|
||||
ToYear = toYear;
|
||||
}
|
||||
|
||||
public bool IsSingleMonth => FromMonth == ToMonth && FromYear == ToYear;
|
||||
|
||||
public DateTime StartTime => new DateTime(FromYear, FromMonth, 1);
|
||||
public DateTime EndTime => new DateTime(ToYear, ToMonth, 1).AddMonths(1).AddSeconds(-1);
|
||||
public bool ValidFromRange => FromMonth != 0 && FromYear != 0;
|
||||
public bool ValidToRange => ToMonth != 0 && ToYear != 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user