public Period(DateTime dtm) { Year = dtm.Year; switch (dtm.Month) { case 1: case 2: case 3: PeriodNumber = 1; break; case 4: case 5: case 6: PeriodNumber = 2; break; case 7: case 8: case 9: PeriodNumber = 3; break; case 10: case 11: case 12: PeriodNumber = 4; break; } PeriodLit = "Q" + PeriodNumber.ToString() + Year.ToString(); StartDateRevInt = Year * 10000 + (PeriodNumber * 3 - 2) * 100 + 1; }
public Period(int startRevInt) { int year = startRevInt / 10000; startRevInt -= year * 10000; int mo = startRevInt / 100; startRevInt -= mo * 100; int day = startRevInt / 100; Debug.Assert(day == 1); var dtm = new DateTime(year, mo, 1); Year = dtm.Year; switch (dtm.Month) { case 1: case 2: case 3: PeriodNumber = 1; break; case 4: case 5: case 6: PeriodNumber = 2; break; case 7: case 8: case 9: PeriodNumber = 3; break; case 10: case 11: case 12: PeriodNumber = 4; break; } PeriodLit = "Q" + PeriodNumber.ToString() + Year.ToString(); StartDateRevInt = Year * 10000 + (PeriodNumber * 3 - 2) * 100 + 1; }