Ejemplo n.º 1
0
        public async Task <IActionResult> Post([FromBody] AddImmunizationHistoryCommand addImmunizationHistoryCommand)
        {
            var response = await _mediator.Send(addImmunizationHistoryCommand, Request.HttpContext.RequestAborted);

            if (response.IsValid)
            {
                return(Ok(response));
            }
            return(BadRequest(response));
        }
        public async Task <Result <VaccinationResponse> > Handle(AddImmunizationHistoryCommand request, CancellationToken cancellationToken)
        {
            using (_unitOfWork)
            {
                try
                {
                    List <Vaccination> vaccinations = new List <Vaccination>();

                    foreach (var vaccine in request.Vaccinations)
                    {
                        var vacinneItem = new Vaccination()
                        {
                            AppointmentId        = vaccine.AppointmentId,
                            Active               = vaccine.Active,
                            CreateDate           = vaccine.CreateDate,
                            CreatedBy            = vaccine.CreatedBy,
                            DeleteFlag           = vaccine.DeleteFlag,
                            PatientId            = vaccine.PatientId,
                            PatientMasterVisitId = vaccine.PatientMasterVisitId,
                            PeriodId             = vaccine.PeriodId,
                            VaccineDate          = vaccine.VaccineDate,
                            VaccineStage         = vaccine.VaccineStage,
                            Vaccine              = vaccine.Vaccine,
                        };
                        vaccinations.Add(vacinneItem);
                    }

                    await _unitOfWork.Repository <Vaccination>().AddRangeAsync(vaccinations);

                    await _unitOfWork.SaveAsync();

                    return(Result <VaccinationResponse> .Valid(new VaccinationResponse()
                    {
                        Message = "Vaccination Added successfully"
                    }));
                }
                catch (Exception e)
                {
                    Log.Error(e.Message + " " + e.InnerException);
                    return(Result <VaccinationResponse> .Invalid(e.Message));
                }
            }
        }