protected internal PatientDetailsVM(bool newForm, string Name = null, string Taj = null, int?Id = null) { if (!newForm && Id == null) { selectedId = (GlobalVM.StockLayout.headerContent.Content as SelectedPatient).AskId(); } this.newForm = newForm; PatientDetailsMViewElements = new PatientDetailsMViewElements(); if (Id != null) { selectedId = Id; PatientDetailsMViewElements.UserName = Name; PatientDetailsMViewElements.TajNumber = Taj; } PatientDetailsMDataSet = new PatientDetailsMDataSet(); ZipCodeSearch = new BackgroundWorker(); ZipCodeSearch.DoWork += new DoWorkEventHandler(ZipCodeDoWork); SettlementSearch = new BackgroundWorker(); SettlementSearch.DoWork += new DoWorkEventHandler(SettlementDoWork); Loading = new BackgroundWorker(); Loading.DoWork += new DoWorkEventHandler(LoadingModel); Loading.RunWorkerCompleted += new RunWorkerCompletedEventHandler(LoadingModelComplete); Loading.RunWorkerAsync(); }
private async void LoadingModelComplete(object sender, RunWorkerCompletedEventArgs e) { if (workingConn) { PatientDetailsMDataSet.ViewGenderList = PatientDetailsMDataSet.FullGenderList.Select(a => a.DataG).ToList(); PatientDetailsMDataSet.ViewZipCodeList = PatientDetailsMDataSet.FullZipCodeList.Select(a => a.DataZC).ToList(); PatientDetailsMDataSet.ViewBillingZipCodeList = PatientDetailsMDataSet.ViewZipCodeList; PatientDetailsMDataSet.ViewSettlementList = PatientDetailsMDataSet.FullSettlementList.Select(a => a.DataS).ToList(); PatientDetailsMDataSet.ViewBirthPlaceList = PatientDetailsMDataSet.ViewSettlementList; PatientDetailsMDataSet.ViewBillingSettlementList = PatientDetailsMDataSet.ViewSettlementList; if (!newForm) { PatientDetailsMViewElements.UserName = selected.NamePD; try { PatientDetailsMViewElements.BirthName = selected.BirthNamePD; } catch { PatientDetailsMViewElements.BirthName = null; } PatientDetailsMViewElements.GenderSelected = PatientDetailsMDataSet.FullGenderList.Where(a => a.IdG == selected.GenderPD).Select(a => a.DataG).Single(); PatientDetailsMViewElements.MotherName = selected.MotherNamePD; PatientDetailsMViewElements.BirthPlaceSelected = PatientDetailsMDataSet.FullSettlementList.Where(a => a.IdS == selected.BirthPlacePD).Select(a => a.DataS).Single(); PatientDetailsMViewElements.BirthDate = selected.BirthDatePD; PatientDetailsMViewElements.TajNumber = selected.TAJNumberPD; PatientDetailsMViewElements.TaxNumber = selected.TAXNumberPD; PatientDetailsMViewElements.ZipCodeSelected = PatientDetailsMDataSet.FullZipCodeList.Where(a => a.IdZC == selected.ZipCodePD).Select(a => a.DataZC).Single(); PatientDetailsMViewElements.SettlementSelected = PatientDetailsMDataSet.FullSettlementList.Where(a => a.IdS == selected.SettlementPD).Select(a => a.DataS).Single(); PatientDetailsMViewElements.Address = selected.AddressPD; try { PatientDetailsMViewElements.Phone = selected.PhonePD; } catch { PatientDetailsMViewElements.Phone = null; } try { PatientDetailsMViewElements.MobilePhone = selected.MobilePhonePD; } catch { PatientDetailsMViewElements.MobilePhone = null; } try { PatientDetailsMViewElements.Email = selected.EmailPD; } catch { PatientDetailsMViewElements.Email = null; } PatientDetailsMViewElements.BillingName = selected.BillingNamePD; PatientDetailsMViewElements.BillingZipCode = PatientDetailsMDataSet.FullZipCodeList.Where(a => a.IdZC == selected.BillingZipCodePD).Select(a => a.DataZC).Single(); PatientDetailsMViewElements.BillingSettlement = PatientDetailsMDataSet.FullSettlementList.Where(a => a.IdS == selected.BillingSettlementPD).Select(a => a.DataS).Single(); PatientDetailsMViewElements.BillingAddress = selected.BillingAddressPD; try { PatientDetailsMViewElements.Notes = selected.NotesPD; } catch { PatientDetailsMViewElements.Notes = null; } } await Utilities.Loading.Hide(); if (!newForm) { PatientDetailsMViewElements.AcceptChanges(); } } else { ConnectionMessage(); } }