public async Task <IActionResult> Post([FromBody] AddOvcEnrollmentCommand enrollovcCommand) { var response = await _mediator.Send(enrollovcCommand, Request.HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }
public async Task <Result <Response> > Handle(AddOvcEnrollmentCommand request, CancellationToken cancellationToken) { try { var result = await _unitOfWork.Repository <OvcEnrollmentForm>().Get(x => x.PersonId == request.PersonId && x.EnrollmentDate.Value.Day == request.EnrollmentDate.Value.Day && x.EnrollmentDate.Value.Year == request.EnrollmentDate.Value.Year && x.EnrollmentDate.Value.Month == request.EnrollmentDate.Value.Month && x.DeleteFlag != true).OrderByDescending(x => x.Id).FirstOrDefaultAsync(); if (result != null) { result.EnrollmentDate = request.EnrollmentDate; result.CPMISEnrolled = request.CPMISEnrolled; result.PartnerOVCServices = request.PartnerOVCServices; result.CreatedBy = request.CreatedBy; result.DeleteFlag = false; result.CreateDate = DateTime.Now; result.PersonId = request.PersonId; _unitOfWork.Repository <OvcEnrollmentForm>().Update(result); await _unitOfWork.SaveAsync(); Message += "The information has been updated successfully"; } else { OvcEnrollmentForm enroll = new OvcEnrollmentForm(); enroll.EnrollmentDate = request.EnrollmentDate; enroll.CPMISEnrolled = request.CPMISEnrolled; enroll.PartnerOVCServices = request.PartnerOVCServices; enroll.CreatedBy = request.CreatedBy; enroll.DeleteFlag = false; enroll.CreateDate = DateTime.Now; enroll.PersonId = request.PersonId; await _unitOfWork.Repository <OvcEnrollmentForm>().AddAsync(enroll); await _unitOfWork.SaveAsync(); Message += "The information has been successfully added"; } return(Result <Response> .Valid(new Response { Message = Message })); } catch (Exception ex) { return(Result <Response> .Invalid(ex.Message)); } }