public async Task InitNewPatient() { var patient = new Patient { }; var appointment = new Appointment { }; var screenQuiz = new ScreenQuiz { }; var labConsent = new LabConsent { }; var patientOrderItem = new PatientOrderItem { IsNew = true, IsNewRow = true, IsInitRow = true, Patient = patient, Appointment = appointment, ScreenQuiz = screenQuiz, LabConsent = labConsent, }; SetupPatientOrderItems(new[] { patientOrderItem }); PatientOrderItems.Add(patientOrderItem); SelectedPatientOrderItem = patientOrderItem; CalcAll(); }
//private void PropertyChangedAction(object sender, PropertyChangedEventArgs e) //{ // if (e.PropertyName == nameof()) //} async Task <bool> LoadData() { UIFunc.ShowLoading(); var task1 = WebServiceFunc.GetOrder(OrderRowId); var task2 = WebServiceFunc.GetInstitutionsForSchedule(); var task3 = WebServiceFunc.GetStates(1); await Task.WhenAll(task1, task2, task3); if (task1.Result == null || task2.Result == null || task3.Result == null) { await UIFunc.AlertError(U.StandartErrorUpdateText); return(false); } Order = task1.Result; DdlInstitutions = task2.Result.OrderBy(q => q.CompanyName).ToObservableCollection(); DdlStates = task3.Result.OrderBy(q => q.Name).ToArray(); var institutionRowIds = DdlInstitutions.Select(q => q.RowId).ToArray(); var slotTasks = institutionRowIds.Select(q => WebServiceFunc.GetBookingSlots(q)).ToArray(); await Task.WhenAll(slotTasks); if (slotTasks.Any(q => q.Result == null)) { await UIFunc.AlertError(U.StandartErrorUpdateText); return(false); } AllBookingSlots = new Dictionary <Guid, ScheduleItemSlot[]>(); for (int i = 0; i < institutionRowIds.Length; i++) { AllBookingSlots.Add(institutionRowIds[i], slotTasks[i].Result); } Model = Order.UserProfile; PatientOrderItems = Order.Pois.OrderBy(q => q.Patient?.FullPatientName).ToObservableCollection(); SetupPatientOrderItems(PatientOrderItems); PatientOrderItemsJson0 = JsonConvert.SerializeObject(PatientOrderItems); if (IsShowFromMode) { SelectedPatientOrderItem = PatientOrderItems.SingleOrDefault(q => q.RowId == InitSelectedPatientOrderItemRowId); if (SelectedPatientOrderItem == null) { IsNewRow = true; await InitNewPatient(); } PatientHeaderModels[General].IsExpanded = true; } UIFunc.HideLoading(); return(true); }
public async Task Commit() { var norder = JsonConvert.DeserializeObject <Order>(JsonConvert.SerializeObject(Order)); norder.Pois = PatientOrderItems.ToList(); UIFunc.ShowLoading(U.StandartUpdatingText); var result = await WebServiceFunc.SaveOrder(norder); UIFunc.HideLoading(); if (!result.Item1) { await UIFunc.AlertError(U.StandartErrorUpdateText); return; } var newOrder = result.Item2; IsCommit = true; await NavFunc.Pop(forceClose : true); }
bool HasPatientOrderItemError() { HasModelError = (PatientOrderItems?.Any(q => q.IsHasError) == true); return(HasModelError); }