Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }