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));
                }
            }
        }