예제 #1
0
        public void CalculateInspectionDates()
        {
            var dateTimes = new List <DateTime>();

            InspectionsDates.Clear();
            if (!IsRepeating)
            {
                InspectionsDates.Add(StartDate);
            }
            else
            {
                foreach (var schedule in TaskSchedules)
                {
                    var dt = schedule.InspectionDateTime;

                    while (dt <= EndDate)
                    {
                        if (!dateTimes.Any(t => t.Equals(dt)))
                        {
                            dateTimes.Add(dt);
                        }
                        dt = AddTimeSpan(dt, schedule.IntervalFrequency.Name, schedule.Interval);
                    }
                }
                dateTimes.Sort();
                dateTimes.ForEach(i => InspectionsDates.Add(i));
            }
        }
예제 #2
0
        public void SaveInspection()
        {
            if (!CheckInput())
            {
                return;
            }

            if (SelectedTask == null)
            {
                SelectedTask = new Task();
            }

            SelectedTask.Checklist       = SelectedChecklist;
            SelectedTask.Customer        = SelectedCustomer;
            SelectedTask.DateTimeStart   = StartDate;
            SelectedTask.DatetimeCreated = DateTime.Now;
            SelectedTask.Inspections     = new List <Inspection>();
            InspectionsDates.ToList().ForEach(i => SelectedTask.Inspections.Add(NewInspectionObject(i)));
            SelectedTask.ParkingLot    = SelectedParkingLot;
            SelectedTask.Remarks       = SelectedTask.Remarks.Trim();
            SelectedTask.TaskSchedules = TaskSchedules.ToList();
            SelectedTask.DateTimeEnd   = IsRepeating ? EndDate : SelectedTask.Inspections.Max(x => x.DateTimePlanned);

            if (_taskRepository.Add(SelectedTask))
            {
                MessageBox.Show($"Inspectieopdracht voor klant {SelectedCustomer.Name} met {SelectedTask.Inspections.Count} inspecties is opgeslagen");
                _router.GoTo(ControlType.TaskOverviewControl);
                return;
            }

            SaveErrorMessage = "Opslaan van inspectieopdracht mislukt.";
        }