public Task <Result <object> > Handle(UpdateDrugAdministrationCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var administeredDrugs = _maternityUnitOfWork.Repository <MaternalDrugAdministration>()
                                        .Get(x => x.PatientMasterVisitId == request.PatientMasterVisitId).AsEnumerable();

                if (!administeredDrugs.Any())
                {
                    return(Task.FromResult(Result <object> .Invalid("Drug administration details not found")));
                }

                foreach (var drug in administeredDrugs)
                {
                    var newDrugInfo = request.AdministeredDrugs.SingleOrDefault(x => x.Id == drug.DrugAdministered);
                    if (newDrugInfo == null)
                    {
                        continue;
                    }
                    drug.Update(newDrugInfo.Id, newDrugInfo.Value, newDrugInfo.Description);
                    _maternityUnitOfWork.Repository <MaternalDrugAdministration>().Update(drug);
                }


                _maternityUnitOfWork.Save();

                return(Task.FromResult(Result <object> .Valid(new { Message = "Drug administration details updated successfully" })));
            }
            catch (Exception ex)
            {
                var message = $"An error occured while updating Drug administration details with master visit Id {request.PatientMasterVisitId}";
                Log.Error(ex, message);
                return(Task.FromResult(Result <object> .Invalid(message)));
            }
        }
        public async Task <object> Edit([FromBody] UpdateDrugAdministrationCommand command)
        {
            var response = await _mediator.Send(command, HttpContext.RequestAborted);

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

            return(BadRequest(response));
        }