internal void DeletePatient(PatientMemberRecord patientMemberRecord) { string storedProc = "[Patient].[usp_DeletePatient]"; try { using (SqlConnection conn = new SqlConnection(GetConnectionString())) { conn.Open(); SqlCommand cmd = new SqlCommand(storedProc, conn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.Add(new SqlParameter("@Source", patientMemberRecord.source)); cmd.Parameters.Add(new SqlParameter("@MedicalRecordNumber", patientMemberRecord.medicalRecordNumber)); cmd.Parameters.Add(new SqlParameter("@FirstName", patientMemberRecord.firstName)); cmd.Parameters.Add(new SqlParameter("@LastName", patientMemberRecord.lastName)); cmd.Parameters.Add(new SqlParameter("@SocialSecurityNumber", patientMemberRecord.socialSecurityNumber)); cmd.Parameters.Add(new SqlParameter("@Address1", patientMemberRecord.address.AddressLine1)); cmd.Parameters.Add(new SqlParameter("@Address2", patientMemberRecord.address.AddressLine2)); cmd.Parameters.Add(new SqlParameter("@City", patientMemberRecord.address.City)); cmd.Parameters.Add(new SqlParameter("@State", patientMemberRecord.address.State)); cmd.Parameters.Add(new SqlParameter("@ZipCode", patientMemberRecord.address.ZipCode)); cmd.ExecuteScalar(); } return; } catch (Exception ex) { logger.Info($"Exception in PatientProject.DataAccessProvider.DeletePatient {Environment.NewLine} Exception: {DateTime.Now}: {JsonConvert.SerializeObject(ex)} {Environment.NewLine} Parameters: {DateTime.Now}: {JsonConvert.SerializeObject(patientMemberRecord)}"); return; } }
public static void testRepo(PatientContext dbc) { System.Console.WriteLine("must start with new database using args of --init true"); PatientRepo pr = new PatientRepo(dbc, null); //Get many System.Console.WriteLine("Get many"); IEnumerable <Patient> allrecords = pr.getPatients("", ""); System.Console.WriteLine("records: " + allrecords.Count()); foreach (var record in allrecords) { System.Console.WriteLine("record: " + record.enterpriseId + "=" + record.memberRecords.Count()); } Debug.Assert(allrecords.Count() == 1); //Get none System.Console.WriteLine("Get none"); IEnumerable <Patient> norecords = pr.getPatients("a", "b"); System.Console.WriteLine("records: " + norecords.Count()); Debug.Assert(norecords.Count() == 0); //Get one System.Console.WriteLine("Get one"); IEnumerable <Patient> records = pr.getPatients("JHU", "123x"); System.Console.WriteLine("records: " + records.Count()); Debug.Assert(records.Count() == 1); foreach (var record in records) { System.Console.WriteLine("record: " + record.enterpriseId + "=" + record.memberRecords.Count()); } //Add System.Console.WriteLine("add"); bool result = pr.addPatient(new Patient() { memberRecords = new List <PatientMemberRecord>() { PatientRepo.createPatientMemberRecord("JHU", "123xz"), PatientRepo.createPatientMemberRecord("JHU", "123xy") } }, null); System.Console.WriteLine("result: " + result); Debug.Assert(result); //Add duplicate (expected failure) System.Console.WriteLine("add failure"); result = pr.addPatient(new Patient() { memberRecords = new List <PatientMemberRecord>() { PatientRepo.createPatientMemberRecord("JHU", "123xz"), PatientRepo.createPatientMemberRecord("JHU", "123xx") } }, null); System.Console.WriteLine("result: " + result); Debug.Assert(!result); //Get one (multiple memberRecords) System.Console.WriteLine("Get one"); records = pr.getPatients("JHU", "123xy"); System.Console.WriteLine("records: " + records.Count()); foreach (var record in records) { System.Console.WriteLine("record: " + record.enterpriseId + "=" + record.memberRecords.Count()); } Debug.Assert(records.Count() > 0); Debug.Assert(records.First().memberRecords.Count() == 2); //Update System.Console.WriteLine("Update"); bool b = false; PatientMemberRecord changedRecord = PatientRepo.createPatientMemberRecord("JHU", "123xz"); changedRecord.firstName = "Rob"; Patient changedPatient = new Patient { memberRecords = new List <PatientMemberRecord> { changedRecord, PatientRepo.createPatientMemberRecord("JHU", "123xx") } }; string eid = records.First().enterpriseId; Debug.Assert(pr.updatePatient(changedPatient, eid, ref b)); records = pr.getPatients("JHU", "123xx"); Debug.Assert(records.Count() > 0); Debug.Assert(records.First().memberRecords.Count() == 2); Debug.Assert(records.First().enterpriseId == eid); //Delete System.Console.WriteLine("Delete"); Debug.Assert(pr.deletePatient("xyz")); allrecords = pr.getPatients("", ""); Debug.Assert(allrecords.Count() == 1); Debug.Assert(allrecords.First().enterpriseId == eid); }