public async Task <IActionResult> PostAsync([FromBody] SaveAppointmentResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } //if appointment is created first time for a patient, create his medical record MedicalRecord medicalRecordForPatient = _medicalRecordService.GetByPatient(resource.PatientId); if (medicalRecordForPatient == null) { SaveMedicalRecordResource resource1 = new SaveMedicalRecordResource(); resource1.Identifer = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + "_" + resource.PatientId.ToString(); resource1.PatientId = resource.PatientId; resource1.Established = DateTime.Now; var medicalRecord = _mapper.Map <SaveMedicalRecordResource, MedicalRecord>(resource1); await _medicalRecordService.SaveAsync(medicalRecord).ConfigureAwait(false); } var appointment = _mapper.Map <SaveAppointmentResource, Appointment>(resource); var result = await _appointmentService.SaveAsync(appointment).ConfigureAwait(false); if (!result.Success) { return(BadRequest(result.Message)); } var appointmentResource = _mapper.Map <Appointment, AppointmentResource>(result.Appointment); return(Ok(appointmentResource)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] SaveMedicalRecordResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var medicalRecord = _mapper.Map <SaveMedicalRecordResource, MedicalRecord>(resource); var result = await _medicalRecordService.UpdateAsync(id, medicalRecord); if (!result.Success) { return(BadRequest(result.Message)); } var medicalRecordResource = _mapper.Map <MedicalRecord, MedicalRecordResource>(result.MedicalRecord); return(Ok(medicalRecordResource)); }
public async Task <ActionResult> SaveByProfileId(int profileId, int personId, int petId, int providerId, [FromBody] SaveMedicalRecordResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var medicalrecord = _mapper.Map <SaveMedicalRecordResource, MedicalRecord>(resource); var result = await _medicalrecordService.SaveByProfileIdAsync(profileId, medicalrecord); if (!result.Success) { return(BadRequest(result.Message)); } var MedicalRecordResource = _mapper.Map <MedicalRecord, MedicalRecordResource>(result.MedicalRecord); return(Ok(MedicalRecordResource)); }