Esempio n. 1
0
        public async Task <Result <AddHeiLabTestsDoneResponse> > Handle(AddHeiLabTestsDoneCommand request, CancellationToken cancellationToken)
        {
            using (_labUnitOfWork)
            {
                try
                {
                    if (request.HeiLabTestTypes.Any())
                    {
                        List <HeiLabTests> heiLabTestses = new List <HeiLabTests>();
                        request.HeiLabTestTypes.ForEach(x => heiLabTestses.Add(new HeiLabTests
                        {
                            PatientId        = request.PatientId,
                            HeiLabTestTypeId = x.Id,
                            LabOrderId       = request.LabOrderId
                        }));

                        await _labUnitOfWork.Repository <HeiLabTests>().AddRangeAsync(heiLabTestses);

                        await _labUnitOfWork.SaveAsync();
                    }

                    return(Result <AddHeiLabTestsDoneResponse> .Valid(new AddHeiLabTestsDoneResponse()
                    {
                        Message = "Successfully added Hei Lab Test Types"
                    }));
                }
                catch (Exception e)
                {
                    Log.Error(e, $"An error occured while trying to add Hei Lab Tests Types");
                    return(Result <AddHeiLabTestsDoneResponse> .Invalid($"An error occured while trying to add Hei Lab Tests Types"));
                }
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> SaveHeiLabTests([FromBody] AddHeiLabTestsDoneCommand addHeiLabTestsDoneCommand)
        {
            var heiLabTestsResponse = await _mediator.Send(addHeiLabTestsDoneCommand).ConfigureAwait(false);

            if (heiLabTestsResponse.IsValid)
            {
                return(Ok(heiLabTestsResponse.Value));
            }
            return(BadRequest(heiLabTestsResponse));
        }