// POST: api/Default public GenericResponse<Patient> AddPatient(Patient patient) { try { int generatedPatientID = 0; if (patient != null && TryValidate(patient)) { if (patient.BrokenRules.Count>0) { return new GenericResponse<Patient> { Status = Status.Failed, Messages = patient.GetErrorMessages(), returnObject=patient }; } bool generatedPatientIDIsNew = false; while (generatedPatientIDIsNew == false) { generatedPatientID = GetRandomPatientID(); var res = patientRepository.Find(generatedPatientID); if (res == null) generatedPatientIDIsNew = true; } patient.PatientId = generatedPatientID; var patientModel = Mapper.Map<Patient, PatientDalDto>(patient); patientRepository.Insert(patientModel); } else { //simulated : failed becuase of any business rule or validation return new GenericResponse<Patient> { Status = Status.Failed, Messages = patient.GetErrorMessages(), returnObject = patient }; } return new GenericResponse<Patient> { Status = Status.Success, returnObject = patient }; } catch(Exception ex) { return new GenericResponse<Patient> { Status = Status.Failed, Messages = new string[] { ex.Message}, returnObject = patient }; } }
public void UpdatePatient(Patient patient) { patientRepository.Update(Mapper.Map<Patient, PatientDalDto>(patient)); }