public async Task <object> AddPatientExamination([FromBody] AddPostNatalExaminationCommand command) { if (!ModelState.IsValid) { return(BadRequest(command)); } var result = await _mediator.Send(command, HttpContext.RequestAborted); if (result.IsValid) { return(Ok(result.Value)); } return(BadRequest(result)); }
public async Task <Result <PostnatalExamResultsResponse> > Handle(AddPostNatalExaminationCommand request, CancellationToken cancellationToken) { using (_maternityUnitOfWork) { try { List <PhysicalExamination> postNatalExaminations = new List <PhysicalExamination>(); foreach (var results in request.PostNatalExamResults) { PhysicalExamination postNatalExamination = new PhysicalExamination() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, ExaminationTypeId = request.ExaminationTypeId, DeleteFlag = false, CreateDate = DateTime.Now, CreateBy = request.CreateBy, ExamId = results.ExamId, FindingId = results.FindingId, FindingsNotes = results.FindingsNotes, }; postNatalExaminations.Add(postNatalExamination); } await _maternityUnitOfWork.Repository <PhysicalExamination>().AddRangeAsync(postNatalExaminations); await _maternityUnitOfWork.SaveAsync(); _maternityUnitOfWork.Dispose(); return(Result <PostnatalExamResultsResponse> .Valid(new PostnatalExamResultsResponse { PatientId = request.PatientId })); } catch (Exception e) { Log.Error(e.Message); return(Result <PostnatalExamResultsResponse> .Invalid(e.Message)); } } }