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));
        }
Beispiel #2
0
        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));
                }
            }
        }