public async Task <IActionResult> Post([FromBody] AddPatientPncExercisesCommand addPatientPncExercisesCommand) { var response = await _mediator.Send(addPatientPncExercisesCommand, Request.HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }
public async Task <Result <AddPatientPncExercisesResponse> > Handle(AddPatientPncExercisesCommand request, CancellationToken cancellationToken) { using (_maternityUnitOfWork) { try { int patientPncExercisesId = 0; var pncExercises = await _maternityUnitOfWork.Repository <PatientPncExercises>().FindByIdAsync(request.Id); if (pncExercises != null) { pncExercises.PncExercisesDone = request.PncExercisesDoneId; _maternityUnitOfWork.Repository <PatientPncExercises>().Update(pncExercises); await _maternityUnitOfWork.SaveAsync(); patientPncExercisesId = pncExercises.Id; } else { PatientPncExercises patientPncExercises = new PatientPncExercises() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, PncExercisesDone = request.PncExercisesDoneId, CreateDate = DateTime.Now, CreatedBy = request.UserId }; await _maternityUnitOfWork.Repository <PatientPncExercises>().AddAsync(patientPncExercises); await _maternityUnitOfWork.SaveAsync(); patientPncExercisesId = patientPncExercises.Id; } return(Result <AddPatientPncExercisesResponse> .Valid(new AddPatientPncExercisesResponse { PncExercisesId = patientPncExercisesId })); } catch (Exception ex) { Log.Error(ex, $"An error occured while pnc exercises for PatientId: {request.PatientId}"); return(Result <AddPatientPncExercisesResponse> .Invalid(ex.Message)); } } }