public void Delete(int?visitId) { if (visitId.HasValue) { var parameters = new DialogParameters(); parameters.Add(ParametersKeys.Message, CommonResources.WarningDelete); parameters.Add(ParametersKeys.Title, CommonResources.Warning); dialogService.ShowDialog(DialogNames.MessageDialog, parameters, (r) => { if (r.Result == ButtonResult.OK) { petsData.DeleteVisitById(visitId.Value); var visit = Visits.FirstOrDefault(x => x.Id == visitId.Value); Visits.Remove(visit); } } ); } }
public void Edit(int?visitId) { if (visitId.HasValue) { var visit = Visits.FirstOrDefault(x => x.Id == visitId.Value); var parameters = new DialogParameters(); parameters.Add(ParametersKeys.ViewModel, visit); dialogService.ShowDialog(DialogNames.VisitDialog, parameters, r => { if (r.Result == ButtonResult.OK) { visit.Update(); LoadData(); } else { visit.SetValuesByOriginValues(); } }); } }
public void UpdateStatusDueToAppointmentBooking(Visit bookedVisit, BookingRemark bookingRemark, UserRole userRole) { if (bookingRemark == null) { return; } // preconditions if (Status != WorkStatusType.VisitNeeded && Status != WorkStatusType.VisitOpen) { return; } if (bookedVisit != null || bookingRemark.ResultCode.Outcome != ResultCodeOutcomeType.Done) { WorkOrderRemarks.Add(bookingRemark); } // check when status VISIT_NEEDED if (Status == WorkStatusType.VisitNeeded) { if (bookingRemark.ResultCode.Outcome == ResultCodeOutcomeType.Done) { if (bookedVisit != null) { var visit = Visits.FirstOrDefault(v => v.Id == bookedVisit.Id); if (visit == null) { Visits.Add(bookedVisit); } else { visit.AppointmentWindowId = bookedVisit.AppointmentWindowId; visit.AppointmentWindow = bookedVisit.AppointmentWindow; visit.WindowStart = bookedVisit.WindowStart; visit.WindowEnd = bookedVisit.WindowEnd; } } } if (bookingRemark.ResultCode.Outcome == ResultCodeOutcomeType.Abort) { ChangeStatusTo(WorkStatusType.Closed, userRole); } } // check when status VISIT_OPEN if (Status == WorkStatusType.VisitOpen) { var visit = Visits.OrderByDescending(v => v.WindowStart) .FirstOrDefault(); if (visit != null && visit.SuperState == VisitSuperStateType.Provisional) { if (bookingRemark.ResultCode.Outcome == ResultCodeOutcomeType.Done && bookedVisit != null) { visit.AppointmentWindowId = bookedVisit.AppointmentWindowId; visit.AppointmentWindow = bookedVisit.AppointmentWindow; visit.WindowStart = bookedVisit.WindowStart; visit.WindowEnd = bookedVisit.WindowEnd; } if (bookingRemark.ResultCode.Outcome == ResultCodeOutcomeType.Abort) { visit.ChangeStatusTo(VisitStatusType.Closed, userRole); ChangeStatusTo(WorkStatusType.Closed, userRole); } } } }