public void SetTargetShift(Assignment assignment) { if (TargetRegionId == 0) { return; } if (TargetWorkDayDate.Date == DateTime.MinValue) { return; } var technicianRole = TechnicianRoles.FirstOrDefault(tr => tr.Regions.Any(r => r.Id == TargetRegionId)); var workDay = WorkDays.FirstOrDefault(wd => wd.Date.Date == TargetWorkDayDate.Date); if (technicianRole == null || workDay == null) { return; } var oldAssignment = technicianRole.Assignments.FirstOrDefault(s => s.WorkDay.Date.Equals(workDay.Date)); if (oldAssignment != null) { technicianRole.Assignments.Remove(oldAssignment); } technicianRole.Assignments.Add(assignment); OnPropertyChanged(() => TargetAssignment); }
public Assignment SetTargetAssignment(int regionId, DateTimeOffset dateTime) { if (regionId == 0) { return(null); } if (dateTime == DateTimeOffset.MinValue) { return(null); } var technicianRole = TechnicianRoles.FirstOrDefault(tr => tr.Regions.Any(r => r.Id == regionId)); var workDay = WorkDays.FirstOrDefault(wd => wd.Date.Date == dateTime.Date); if (technicianRole == null || workDay == null) { return(null); } var shift = Assignment.Create(technicianRole, workDay); technicianRole.Assignments.Add(shift); return(shift); }