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);
        }
Пример #2
0
 /// <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);
 }