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));
                }
            }
        }
示例#2
0
        public async Task <Result <AddMilestoneResponse> > Handle(AddMilestoneCommand request, CancellationToken cancellationToken)
        {
            using (_unitOfWork)
            {
                try
                {
                    List <HEIMilestone> heiMilestones = new List <HEIMilestone>();

                    foreach (var milestone in request.PatientMilestone)
                    {
                        HEIMilestone milestoneItem = new HEIMilestone()
                        {
                            PatientId            = milestone.PatientId,
                            PatientMasterVisitId = milestone.PatientMasterVisitId,
                            TypeAssessedId       = milestone.TypeAssessedId,
                            AchievedId           = milestone.AchievedId,
                            StatusId             = milestone.StatusId,
                            Comment      = milestone.Comment,
                            CreatedBy    = milestone.CreatedBy,
                            CreateDate   = milestone.CreateDate,
                            DeleteFlag   = milestone.DeleteFlag,
                            DateAssessed = milestone.DateAssessed
                        };
                        heiMilestones.Add(milestoneItem);
                    }

                    await _unitOfWork.Repository <HEIMilestone>().AddRangeAsync(heiMilestones);

                    await _unitOfWork.SaveAsync();

                    return(Result <AddMilestoneResponse> .Valid(new AddMilestoneResponse()
                    {
                        Message = "Milestone Added Successfully"
                    }));
                }
                catch (Exception e)
                {
                    Log.Error(e.Message + " " + e.InnerException);
                    return(Result <AddMilestoneResponse> .Invalid(e.Message));
                }
            }
        }