public async Task <Result <EditMilestoneResponse> > Handle(EditMilestoneCommand request, CancellationToken cancellationToken)
        {
            using (_unitOfWork)
            {
                try
                {
                    HEIMilestone milestone = _unitOfWork.Repository <HEIMilestone>().Get(x =>
                                                                                         x.PatientId == request.PatientMilestone.PatientId && x.PatientMasterVisitId ==
                                                                                         request.PatientMilestone.PatientMasterVisitId).FirstOrDefault();
                    if (milestone != null)
                    {
                        milestone.AchievedId     = request.PatientMilestone.AchievedId;
                        milestone.Comment        = request.PatientMilestone.Comment;
                        milestone.StatusId       = request.PatientMilestone.StatusId;
                        milestone.TypeAssessedId = request.PatientMilestone.TypeAssessedId;
                    }

                    _unitOfWork.Repository <HEIMilestone>().Update(milestone);
                    await _unitOfWork.SaveAsync();

                    return(Result <EditMilestoneResponse> .Valid(new EditMilestoneResponse()
                    {
                        Message = "Milestone Edited Successfully"
                    }));
                }
                catch (Exception e)
                {
                    Log.Error(e.Message + " " + e.InnerException);
                    return(Result <EditMilestoneResponse> .Invalid(e.Message));
                }
            }
        }
Exemple #2
0
        public async Task <IActionResult> Put([FromBody] EditMilestoneCommand editMilestoneCommand)
        {
            var response = await _mediator.Send(editMilestoneCommand, Request.HttpContext.RequestAborted);

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