public async Task <IActionResult> AddFamilyPlanning([FromBody] AddPatientFamilyPlanningCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(command));
            }

            var result = await _mediator.Send(command, HttpContext.RequestAborted);

            if (result.IsValid)
            {
                return(Ok(result.Value));
            }

            return(BadRequest(result));
        }
        public async Task <Result <AddFamilyPlaaningResultsResponse> > Handle(AddPatientFamilyPlanningCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var familyPlanning = _mapper.Map <PatientFamilyPlanning>(request);
                await _maternityUnitOfWork.Repository <PatientFamilyPlanning>().AddAsync(familyPlanning);

                await _maternityUnitOfWork.SaveAsync();

                return(Result <AddFamilyPlaaningResultsResponse> .Valid(new AddFamilyPlaaningResultsResponse
                {
                    PatientId = familyPlanning.Id
                }));
            }
            catch (Exception ex)
            {
                logger.Error(ex, $"An error occured while adding patient family planning details {request.PatientId}");
                return(Result <AddFamilyPlaaningResultsResponse> .Invalid(ex.Message));
            }
        }