/// <summary> /// /// </summary> /// <returns></returns> public List <Entities.MedicalTest> SearchAllMedicalTests() { var medicalTests = new List <Entities.MedicalTest>(); using (DbCommand dbCommand = database.GetStoredProcCommand(DBStoredProcedure.SearchMedicalTestAll)) { using (IDataReader reader = database.ExecuteReader(dbCommand)) { while (reader.Read()) { MedicalTestParameters medicalTestParameters = new MedicalTestParameters(); var medicalTest = new Entities.MedicalTest { MedicalTestId = DRE.GetNullableInt32(reader, "medical_test_id", 0), TestName = DRE.GetNullableString(reader, "medical_test_name", null), IsParameters = DRE.GetNullableBoolean(reader, "is_parameters", null), IsGeneralTest = DRE.GetNullableBoolean(reader, "is_test_general", null), MedicalTestParameters = medicalTestParameters.GetMedicalTestParameterDetailsByTestId(DRE.GetInt32(reader, "medical_test_id")) }; medicalTests.Add(medicalTest); } } } return(medicalTests); }
/// <summary> /// /// </summary> /// <param name="medicalTest"></param> /// <returns></returns> public Int32 SaveMedicalTest(Entities.MedicalTest medicalTest) { var medicalTestId = 0; var db = DBConnect.getDBConnection(); using (DbConnection conn = db.CreateConnection()) { conn.Open(); using (DbTransaction dbTransaction = conn.BeginTransaction()) { try { var medicalTestParameterId = 0; if (medicalTest != null) { if (medicalTest.MedicalTestId == null || medicalTest.MedicalTestId == 0) { medicalTestId = AddMedicalTest(medicalTest, dbTransaction); } else if (medicalTest.ModifiedBy != null || medicalTest.ModifiedBy > 0) { medicalTestId = UpdateMedicalTest(medicalTest, dbTransaction); } else if (medicalTest.IsDeleted == true) { var result = DeleteMedicalTest(medicalTest, dbTransaction); if (result) { medicalTestId = (int)medicalTest.MedicalTestId; } else { medicalTestId = -1; } } if (medicalTestId > 0) { if (medicalTest.IsDeleted == true) { MedicalTestParameters medicalTestParametersDB = new MedicalTestParameters(); var result = medicalTestParametersDB.DeleteMedicalTestParametersByMedicalTestId((int)medicalTest.MedicalTestId, (int)medicalTest.DeletedBy, medicalTest.DeletedByIP, dbTransaction); if (result) { medicalTestId = (int)medicalTest.MedicalTestId; } } if (medicalTest.MedicalTestParameters != null) { if (medicalTest.MedicalTestParameters.Count > 0) { foreach (Entities.MedicalTestParameters medicalTestParameters in medicalTest.MedicalTestParameters) { MedicalTestParameters medicalTestParametersDB = new MedicalTestParameters(); medicalTestParameters.MedicalTestId = medicalTestId; medicalTestParameterId = medicalTestParametersDB.SaveMedicalTestParameters(medicalTestParameters, dbTransaction); if (medicalTestParameterId < 0) { medicalTestId = -1; } } } } } } if (medicalTestId > 0) { dbTransaction.Commit(); } else { dbTransaction.Rollback(); } } catch (Exception ex) { medicalTestId = -1; dbTransaction.Rollback(); throw ex; } } return(medicalTestId); } }