public CalendarUtility(Guid calendarId, UserConnection userConnection) { var store = new CalendarDataStore <ICalendar <ICalendarDay> >(userConnection); _calendar = new Calendar(calendarId); store.Load(ref _calendar); _provider = new CalendarOperationProvider(_calendar); }
/// <summary> /// Fills used time intervals. /// </summary> /// <param name="provider">Calendar operation provider.</param> /// <param name="term">Calculation term.</param> /// <param name="loader">Calendar data loader.</param> public void FillUsedTimeIntervals(ICalendarOperationProvider provider, TimeTerm term, ITermCalculationCalendarDataLoader loader) { _logStore.TermTimeRemains = term.Value; _logStore.CalendarData = loader.GetCalendarData(term.CalendarId); if (_logStore.UsedTimeTermIntervals.Count == 0) { foreach (var timeInterval in _logStore.ActiveTimeIntervals) { var interval = GetDateTimeInterval(timeInterval); int alreadyWorked = provider.GetTimeUnits(new List <DateTimeInterval> { interval }); _logStore.UsedTimeTermIntervals.Add(new UsedTimeIntervals { TimeInterval = interval, IntervalStartDate = interval.Start.ToString(_logStore.UserCulture.DateTimeFormat.ShortDatePattern), CaseStatusName = timeInterval.CaseStatusName, SpentTimeUnitValue = alreadyWorked }); _logStore.TermTimeRemains -= alreadyWorked; } } }
public CalendarUtility(ICalendar <ICalendarDay> calendar) { _calendar = calendar; _provider = new CalendarOperationProvider(calendar); }