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