public DateTime RoundDateTime(DateTime value, CalendarTimeScales scale)
        {
            int hour   = scale == CalendarTimeScales.Day ? 0 : value.Hour;
            int minute = scale == CalendarTimeScales.Minute ? value.Minute : 0;

            return(new DateTime(value.Year, value.Month, value.Day, hour, minute, 0));
        }
 public CalendarService(CalendarTimeScales timeScale, Func <T, T> cloneFactory)
 {
     TimeScale = timeScale;
     Clone     = cloneFactory;
 }