public DayIntervalPartDetailsViewModel(DayInterval dayInterval, Guid organisationUID, DayIntervalPart dayIntervalPart = null) { DayInterval = dayInterval; if (dayIntervalPart == null) { Title = "Новый интервал"; IsNew = true; dayIntervalPart = new DayIntervalPart() { DayIntervalUID = dayInterval.UID, }; } else { Title = "Редактирование интервала"; IsNew = false; } DayIntervalPart = dayIntervalPart; OrganisationUID = organisationUID; AvailableTransitions = new ObservableCollection<DayIntervalPartTransitionType>(Enum.GetValues(typeof(DayIntervalPartTransitionType)).OfType<DayIntervalPartTransitionType>()); BeginTime = dayIntervalPart.BeginTime; EndTime = dayIntervalPart.EndTime; SelectedTransition = dayIntervalPart.TransitionType; oldBeginTime = BeginTime; oldEndTime = EndTime; oldTransitionType = SelectedTransition; }
List<DayIntervalPart> CloneDayIntervalPart() { var dayIntervalParts = new List<DayIntervalPart>(); foreach (var dayIntervalPart in DayInterval.DayIntervalParts) { var clonedDayIntervalPart = new DayIntervalPart() { UID = dayIntervalPart.UID, BeginTime = dayIntervalPart.BeginTime, EndTime = dayIntervalPart.EndTime, TransitionType = dayIntervalPart.TransitionType, DayIntervalUID = dayIntervalPart.DayIntervalUID, }; dayIntervalParts.Add(clonedDayIntervalPart); } if (IsNew) { var newEmployeeDayIntervalPart = new DayIntervalPart() { BeginTime = BeginTime, EndTime = EndTime, TransitionType = SelectedTransition, DayIntervalUID = DayInterval.UID, }; dayIntervalParts.Add(newEmployeeDayIntervalPart); } else { var deitingDayIntervalPart = dayIntervalParts.FirstOrDefault(x => x.UID == DayIntervalPart.UID); if (deitingDayIntervalPart != null) { deitingDayIntervalPart.BeginTime = BeginTime; deitingDayIntervalPart.EndTime = EndTime; deitingDayIntervalPart.TransitionType = SelectedTransition; } } dayIntervalParts = dayIntervalParts.OrderBy(item => item.BeginTime).ToList(); return dayIntervalParts; }
public DayIntervalPartViewModel(DayIntervalPart dayIntervalPart) { DayIntervalPart = dayIntervalPart; }