public static DateTime Add(this DateTime dt, int count, TimeUnits unit)
{
switch (unit)
{
case TimeUnits.Century:
return dt.AddYears(count * 100);
case TimeUnits.Day:
return dt.AddDays(count);
case TimeUnits.Decade:
return dt.AddYears(count * 10);
case TimeUnits.Hour:
return dt.AddHours(count);
case TimeUnits.Minute:
return dt.AddMinutes(count);
case TimeUnits.Month:
return dt.AddMonths(count);
case TimeUnits.Quarter:
return dt.AddMonths(count * 3);
case TimeUnits.Second:
return dt.AddSeconds(count);
case TimeUnits.Week:
return dt.AddDays(count * 7);
case TimeUnits.Year:
return dt.AddYears(count);
}
throw new Exception("Adding \"{0}\" is not implemented.".SmartFormat(unit));
}