/// <summary> /// ######### ##### ######### ######## # ######### #########. /// </summary> /// <param name="interval">#### ######### ########</param> public void AddNewInterval(WorkingTimeIntervalObject interval) { TimeIntervalChangedObject existedInterval = Intervals.SingleOrDefault(i => i.EntityId == interval.Id); if (existedInterval != null) { Intervals.Remove(existedInterval); } Intervals.Add(new TimeIntervalChangedObject(interval, ChangedStatus.New)); }
/// <summary> /// ######### ########## ######## # ######### #########. /// </summary> /// <param name="interval">########## ######### ########</param> public void AddChangedInterval(WorkingTimeIntervalObject interval) { var changedStatus = ChangedStatus.Changed; TimeIntervalChangedObject existedInterval = Intervals.SingleOrDefault(i => i.EntityId == interval.Id); if (existedInterval != null) { changedStatus = existedInterval.ChangedStatus == ChangedStatus.New ? ChangedStatus.New : ChangedStatus.Changed; Intervals.Remove(existedInterval); } Intervals.Add(new TimeIntervalChangedObject(interval, changedStatus)); }
/// <summary> /// ######### ######### /// </summary> /// <param name="dayInCalendarId">############# ### # #########</param> private void UpdateIntervals(Guid dayInCalendarId) { foreach (int i in ChangedWorkingTimeIntervalsIndexes) { var container = _page.PageContainer; var fromDate = (DateTimeEdit) container.FindControl(string.Format(FromControlNameFormat, TimeIntervalTypeControlAlias, i)); var toDate = (DateTimeEdit) container.FindControl(string.Format(ToControlNameFormat, TimeIntervalTypeControlAlias, i)); var minDate = DateTime.MinValue; bool isIntervalControlsFilled = fromDate.SelectedDate != minDate && toDate.SelectedDate != minDate; WorkingTimeIntervalObject timeInterval = CurrentWorkingTimeIntervalsData .SingleOrDefault(t => t.Index == i); if (isIntervalControlsFilled && timeInterval != null) { timeInterval.From = fromDate.SelectedDate; timeInterval.To = toDate.SelectedDate; ChangesStore.AddChangedInterval(timeInterval); } else if (isIntervalControlsFilled) { var newTimeInterval = new WorkingTimeIntervalObject { Id = Guid.NewGuid(), Index = i, DayInCalendarId = dayInCalendarId, From = fromDate.SelectedDate, To = toDate.SelectedDate }; ChangesStore.AddNewInterval(newTimeInterval); } else if (timeInterval != null) { ChangesStore.AddRemovedInterval(timeInterval); } } }
public TimeIntervalChangedObject(WorkingTimeIntervalObject workingTimeInterval, ChangedStatus changedStatus) { ChangedStatus = changedStatus; WorkingTimeInterval = workingTimeInterval; }