예제 #1
0
        public async Task <IActionResult> AddAdverseEvents([FromBody] AddAdverseEventCommand addAdverseEventCommand)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var response = await _mediator.Send(addAdverseEventCommand, Request.HttpContext.RequestAborted);

            if (response.IsValid)
            {
                return(Ok(response.Value));
            }
            return(BadRequest(response));
        }
예제 #2
0
        public async Task <Result <AdverseEventsResponse> > Handle(AddAdverseEventCommand request, CancellationToken cancellationToken)
        {
            using (_commontUnitOfWork)
            {
                try
                {
                    if (request.AdverseEvents.Any())
                    {
                        List <PatientAdverseEvent> patientAdverseEvents = new List <PatientAdverseEvent>();
                        request.AdverseEvents.ForEach(x => patientAdverseEvents.Add(new PatientAdverseEvent
                        {
                            PatientId            = x.PatientId,
                            PatientMasterVisitId = x.PatientMasterVisitId,
                            Action         = x.Action,
                            AdverseEventId = x.AdverseEventId,
                            CreateBy       = x.CreateBy,
                            CreateDate     = x.CreateDate,
                            DeleteFlag     = x.DeleteFlag,
                            EventCause     = x.EventCause,
                            EventName      = x.EventName,
                            Severity       = x.Severity
                        }));

                        await _commontUnitOfWork.Repository <PatientAdverseEvent>().AddRangeAsync(patientAdverseEvents);

                        await _commontUnitOfWork.SaveAsync();
                    }

                    return(Result <AdverseEventsResponse> .Valid(new AdverseEventsResponse()
                    {
                        Message = "Successfully added adverse events"
                    }));
                }
                catch (Exception e)
                {
                    Log.Error($"Failed to add adverse events");
                    return(Result <AdverseEventsResponse> .Invalid($"Failed to add adverse events"));
                }
            }
        }