public async Task <Result <AddLinkageResponse> > Handle(AddLinkageCommand request, CancellationToken cancellationToken) { try { PatientLinkage patientLinkage = new PatientLinkage() { PersonId = request.PersonId, LinkageDate = request.DateEnrolled, CCCNumber = request.CCCNumber, Facility = request.Facility, Enrolled = true, DeleteFlag = false, CreatedBy = request.UserId, CreateDate = DateTime.Now, HealthWorker = request.HealthWorker, Cadre = request.Carde }; await _unitOfWork.Repository <PatientLinkage>().AddAsync(patientLinkage); await _unitOfWork.SaveAsync(); _unitOfWork.Dispose(); return(Result <AddLinkageResponse> .Valid(new AddLinkageResponse { LinkageId = patientLinkage.Id })); } catch (Exception e) { return(Result <AddLinkageResponse> .Invalid(e.Message)); } }
public async Task <IActionResult> LinkPatient([FromBody] AddLinkageCommand command) { var response = await _mediator.Send(command, Request.HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }
public async Task <Result <AddLinkageResponse> > Handle(AddLinkageCommand request, CancellationToken cancellationToken) { try { int patientLinkageId = 0; if (request.IsEdit) { var patientLinkage = await _unitOfWork.Repository <PatientLinkage>().FindByIdAsync(request.Id); if (patientLinkage != null) { patientLinkage.LinkageDate = request.DateEnrolled; patientLinkage.CCCNumber = request.CCCNumber; patientLinkage.Facility = request.Facility; patientLinkage.HealthWorker = request.HealthWorker; patientLinkage.Cadre = request.Carde; patientLinkage.ArtStartDate = request.Artstartdate; patientLinkage.Comments = request.Remarks; _unitOfWork.Repository <PatientLinkage>().Update(patientLinkage); await _unitOfWork.SaveAsync(); patientLinkageId = patientLinkage.Id; } } else { PatientLinkage patientLinkage = new PatientLinkage() { PersonId = request.PersonId, LinkageDate = request.DateEnrolled, CCCNumber = request.CCCNumber, Facility = request.Facility, Enrolled = true, DeleteFlag = false, CreatedBy = request.UserId, CreateDate = DateTime.Now, HealthWorker = request.HealthWorker, Cadre = request.Carde, ArtStartDate = request.Artstartdate, Comments = request.Remarks }; await _unitOfWork.Repository <PatientLinkage>().AddAsync(patientLinkage); await _unitOfWork.SaveAsync(); patientLinkageId = patientLinkage.Id; } _unitOfWork.Dispose(); return(Result <AddLinkageResponse> .Valid(new AddLinkageResponse { LinkageId = patientLinkageId })); } catch (Exception e) { Log.Error(e.Message); return(Result <AddLinkageResponse> .Invalid(e.Message)); } }