void DeleteLabResultExecute(LabResultViewModel resultVM) { if (LabResultCollection == null) { return; } string caseGuid = resultVM.CaseRecordGuid; string labGuid = resultVM.RecordId; LabResultCollection.Remove(resultVM); Query deleteQuery = Database.CreateQuery("DELETE * FROM " + LabForm.TableName + " WHERE GlobalRecordId = @GUID"); if (Database.ToString().ToLower().Contains("sql")) { deleteQuery = Database.CreateQuery("DELETE FROM " + LabForm.TableName + " WHERE GlobalRecordId = @GUID"); } deleteQuery.Parameters.Add(new QueryParameter("@GUID", DbType.String, labGuid)); Database.ExecuteNonQuery(deleteQuery); foreach (Epi.Page page in LabForm.Pages) { deleteQuery = Database.CreateQuery("DELETE * FROM " + page.TableName + " WHERE GlobalRecordId = @GUID"); if (Database.ToString().ToLower().Contains("sql")) { deleteQuery = Database.CreateQuery("DELETE FROM " + page.TableName + " WHERE GlobalRecordId = @GUID"); } deleteQuery.Parameters.Add(new QueryParameter("@GUID", DbType.String, labGuid)); Database.ExecuteNonQuery(deleteQuery); } Query selectQuery = Database.CreateQuery("SELECT FKEY FROM " + LabForm.TableName + " WHERE FKEY = @GUID"); selectQuery.Parameters.Add(new QueryParameter("@GUID", DbType.String, caseGuid)); DataTable dt = Database.Select(selectQuery); if (dt.Rows.Count == 0) { deleteQuery = Database.CreateQuery("DELETE * FROM " + CaseForm.TableName + " WHERE GlobalRecordId = @GUID"); if (Database.ToString().ToLower().Contains("sql")) { deleteQuery = Database.CreateQuery("DELETE FROM " + CaseForm.TableName + " WHERE GlobalRecordId = @GUID"); } deleteQuery.Parameters.Add(new QueryParameter("@GUID", DbType.String, caseGuid)); Database.ExecuteNonQuery(deleteQuery); foreach (Epi.Page page in CaseForm.Pages) { deleteQuery = Database.CreateQuery("DELETE * FROM " + page.TableName + " WHERE GlobalRecordId = @GUID"); if (Database.ToString().ToLower().Contains("sql")) { deleteQuery = Database.CreateQuery("DELETE FROM " + page.TableName + " WHERE GlobalRecordId = @GUID"); } deleteQuery.Parameters.Add(new QueryParameter("@GUID", DbType.String, caseGuid)); Database.ExecuteNonQuery(deleteQuery); } } }
private void AddResult(LabResultViewModel newResult) { if (LabResultCollection == null) { return; } LabResultCollection.Add(newResult); //int SUDV = 0; //int BDBV = 0; //int EBOV = 0; //int MARV = 0; //foreach (LabResultViewModel labResultVM in LabResultCollection) //{ // if (!String.IsNullOrEmpty(labResultVM.MARVPCR)) MARV++; // if (!String.IsNullOrEmpty(labResultVM.EBOVPCR)) EBOV++; // if (!String.IsNullOrEmpty(labResultVM.BDBVPCR)) BDBV++; // if (!String.IsNullOrEmpty(labResultVM.SUDVPCR)) SUDV++; //} //VirusTestTypes virusTestType = Core.VirusTestTypes.Sudan; //if (SUDV > BDBV && SUDV > EBOV && SUDV > MARV) //{ // virusTestType = Core.VirusTestTypes.Sudan; //} //if (MARV > SUDV && MARV > EBOV && MARV > BDBV) //{ // virusTestType = Core.VirusTestTypes.Marburg; //} //if (EBOV > MARV && EBOV > SUDV && EBOV > BDBV) //{ // virusTestType = Core.VirusTestTypes.Ebola; //} //if (BDBV > MARV && BDBV > EBOV && BDBV > SUDV) //{ // virusTestType = Core.VirusTestTypes.Bundibugyo; //} if (LabRecordAdded != null) { LabRecordAdded(this, new CaseDataPopulatedArgs(VirusTestType, false)); } }
protected override void SortCases() { ObservableCollection <LabResultViewModel> tempResults = new ObservableCollection <LabResultViewModel>(); foreach (LabResultViewModel labVM in LabResultCollection) { tempResults.Add(labVM); } var query = from labVM in tempResults orderby labVM.CaseID select labVM; LabResultCollection.Clear(); foreach (var labVM in query) { LabResultCollection.Add(labVM); } }
protected override bool PopulateCollections(bool initialLoad = false) { LabDataHelper.SampleInterpretConfirmedAcute = Properties.Resources.AnalysisClassConfirmedAcute; LabDataHelper.SampleInterpretConfirmedConvalescent = Properties.Resources.AnalysisClassConfirmedConvalescent; LabDataHelper.SampleInterpretNotCase = Properties.Resources.AnalysisClassNotCase; LabDataHelper.SampleInterpretIndeterminate = Properties.Resources.AnalysisClassIndeterminate; LabDataHelper.SampleInterpretNegativeNeedsFollowUp = Properties.Resources.AnalysisClassNegativeNeedsFollowUp; LabDataHelper.PCRPositive = Properties.Resources.Positive; LabDataHelper.PCRNegative = Properties.Resources.Negative; LabDataHelper.PCRIndeterminate = Properties.Resources.AnalysisClassIndeterminate; LabDataHelper.PCRNotAvailable = "n/a"; LabDataHelper.SampleTypeWholeBlood = Properties.Resources.SampleTypeWholeBlood; LabDataHelper.SampleTypeSerum = Properties.Resources.SampleTypeSerum; LabDataHelper.SampleTypeHeartBlood = Properties.Resources.SampleTypeHeartBlood; LabDataHelper.SampleTypeSkin = Properties.Resources.SampleTypeSkin; LabDataHelper.SampleTypeOther = Properties.Resources.SampleTypeOther; // ********************************************************************************* // Following code shows virus tests depending on what's in the database. // ********************************************************************************* DataTable CaseTable = GetCasesTable(); DataView CaseView = new DataView(CaseTable, String.Empty, String.Empty, DataViewRowState.CurrentRows); DataTable LabTable = GetLabTable(); DataView LabView = new DataView(LabTable, String.Empty, String.Empty, DataViewRowState.CurrentRows); SudanTestsDetected = false; EbolaTestsDetected = false; BundibugyoTestsDetected = false; MarburgTestsDetected = false; CCHFTestsDetected = false; RiftTestsDetected = false; LassaTestsDetected = false; foreach (DataRowView rowView in LabView) { LabResultViewModel labResultVM = new LabResultViewModel(LabForm); LoadResultData(rowView.Row, labResultVM, CaseView); LabResultCollection.Add(labResultVM); if (!String.IsNullOrEmpty(labResultVM.MARVPCR)) { MarburgTestsDetected = true; } if (!String.IsNullOrEmpty(labResultVM.EBOVPCR)) { EbolaTestsDetected = true; } if (!String.IsNullOrEmpty(labResultVM.BDBVPCR)) { BundibugyoTestsDetected = true; } if (!String.IsNullOrEmpty(labResultVM.SUDVPCR)) { SudanTestsDetected = true; } if (!String.IsNullOrEmpty(labResultVM.CCHFPCR)) { CCHFTestsDetected = true; } if (!String.IsNullOrEmpty(labResultVM.RVFPCR)) { RiftTestsDetected = true; } if (!String.IsNullOrEmpty(labResultVM.LHFPCR)) { LassaTestsDetected = true; } } // ********************************************************************************* // Following (uncommented) code shows virus tests depending on what the user entered on the initial app setup // ********************************************************************************* Query selectQuery = Database.CreateQuery("SELECT * FROM metaDbInfo"); DataTable dt = Database.Select(selectQuery); OutbreakName = dt.Rows[0]["OutbreakName"].ToString(); if (!String.IsNullOrEmpty(dt.Rows[0]["OutbreakDate"].ToString())) { OutbreakDate = (DateTime)dt.Rows[0]["OutbreakDate"]; } IDPrefix = dt.Rows[0]["IDPrefix"].ToString(); IDSeparator = dt.Rows[0]["IDSeparator"].ToString(); IDPattern = dt.Rows[0]["IDPattern"].ToString(); Country = dt.Rows[0]["PrimaryCountry"].ToString(); switch (dt.Rows[0]["Virus"].ToString()) { case "Sudan": VirusTestType = Core.Enums.VirusTestTypes.Sudan; SudanTestsDetected = true; break; case "Ebola": VirusTestType = Core.Enums.VirusTestTypes.Ebola; EbolaTestsDetected = true; break; case "Marburg": VirusTestType = Core.Enums.VirusTestTypes.Marburg; MarburgTestsDetected = true; break; case "Bundibugyo": VirusTestType = Core.Enums.VirusTestTypes.Bundibugyo; BundibugyoTestsDetected = true; break; case "CCHF": VirusTestType = Core.Enums.VirusTestTypes.CCHF; CCHFTestsDetected = true; break; case "Rift": VirusTestType = Core.Enums.VirusTestTypes.Rift; RiftTestsDetected = true; break; case "Lassa": VirusTestType = Core.Enums.VirusTestTypes.Lassa; LassaTestsDetected = true; break; } SortCases(); UpdateResultNumbers(); LabResultCollectionView = System.Windows.Data.CollectionViewSource.GetDefaultView(LabResultCollection); RaisePropertyChanged("LabResultCollectionView"); if (CaseDataPopulated != null) { CaseDataPopulated(this, new CaseDataPopulatedArgs(VirusTestType, false)); } TaskbarProgressState = System.Windows.Shell.TaskbarItemProgressState.None; return(true); }
public override void ClearCollections() { //CaseCollection = new ObservableCollection<CaseViewModel>(); LabResultCollection.Clear();// = new ObservableCollection<LabResultViewModel>(); }