public Date(int day, int month, int year) { day = Math.Abs(day); month = Math.Abs(month); start: if (month > 12) { year++; month -= 12; goto start; } MonthNumber n = (MonthNumber)month; if (day > DaysInMonths[n.ToString()]) { month++; day -= DaysInMonths[n.ToString()]; goto start; } this.Day = day; this.Month = month; this.Year = year; }
public override int GetHashCode() { int hashCode = 378801229; hashCode = hashCode * -1521134295 + Year.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Segment); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Country); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Product); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(DiscountBand); hashCode = hashCode * -1521134295 + UnitsSold.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(ManufacturingPrice); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(SalePrice); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(GrossSales); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Discounts); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Sales); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(COGS); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Profit); hashCode = hashCode * -1521134295 + Date.GetHashCode(); hashCode = hashCode * -1521134295 + MonthNumber.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(MonthName); return(hashCode); }
public FiscalMonth DeepCloneWithMonthNumber(MonthNumber monthNumber) { var result = new FiscalMonth( this.Year.DeepClone(), monthNumber); return(result); }
public GenericMonth DeepCloneWithMonthNumber(MonthNumber monthNumber) { var result = new GenericMonth( this.Year.DeepClone(), monthNumber); return(result); }
public void TestMonth(string minValue, string maxValue, string rangeStart, string rangeEnd) { var calculator = _host.Services.GetRequiredService <IRangeCalculator>(); calculator.Evaluate(DateTime.Parse(minValue), DateTime.Parse(maxValue)); calculator.Alternatives.Should().NotBeEmpty(); var bestFit = calculator.Alternatives.BestByInactiveRegions(); bestFit.Should().NotBeNull(); bestFit !.RangeStart.Should().Be(MonthNumber.GetMonthNumber(rangeStart)); bestFit !.RangeEnd.Should().Be(MonthNumber.GetMonthNumber(rangeEnd)); }
/// <summary> /// Initializes a new instance of the <see cref="GenericMonth"/> class. /// </summary> /// <param name="year">The year.</param> /// <param name="monthNumber">The month number.</param> /// <exception cref="ArgumentOutOfRangeException"><paramref name="year"/> is less than 1 or greater than 9999.</exception> /// <exception cref="ArgumentException"><paramref name="monthNumber"/> is invalid.</exception> public GenericMonth( int year, MonthNumber monthNumber) { if ((year < 1) || (year > 9999)) { throw new ArgumentOutOfRangeException(nameof(year), Invariant($"year ({year}) is less than 1 or greater than 9999")); } if (monthNumber == MonthNumber.Invalid) { throw new ArgumentException("month is invalid", nameof(monthNumber)); } this.Year = year; this.MonthNumber = monthNumber; }
/// <summary> /// Initializes a new instance of the <see cref="GenericMonth"/> class. /// </summary> /// <param name="year">The year.</param> /// <param name="monthNumber">The month number.</param> /// <exception cref="ArgumentOutOfRangeException"><paramref name="year"/> is less than 1 or greater than 9999.</exception> /// <exception cref="ArgumentException"><paramref name="monthNumber"/> is invalid.</exception> public GenericMonth( int year, MonthNumber monthNumber) { if (year < 1) { throw new ArgumentOutOfRangeException(Invariant($"'{nameof(year)}' < '{1}'"), (Exception)null); } if (year > 9999) { throw new ArgumentOutOfRangeException(Invariant($"'{nameof(year)}' > '{9999}'"), (Exception)null); } if (monthNumber == MonthNumber.Invalid) { throw new ArgumentOutOfRangeException(Invariant($"'{nameof(monthNumber)}' == '{MonthNumber.Invalid}'"), (Exception)null); } this.Year = year; this.MonthNumber = monthNumber; }
public override string ToString() => MonthNumber.ToString();