Task <bool> IRequestHandler <StartRigOapChecklistWorkflowRequest, bool> .Handle(StartRigOapChecklistWorkflowRequest request, CancellationToken cancellationToken) { var existingRigChecklist = RigOapChecklistService.Get(request.RigChecklistId); if (existingRigChecklist == null) { return(Task.FromResult(false)); } //existingRigChecklist.StartWorkflow(RigOapChecklistWorkflowService, WorkflowEngineService, WorkflowService, PeopleService, Log, request.OwnerId); RigOapChecklistWorkflowService.StartChecklistWorkFlow(existingRigChecklist); return(Task.FromResult(true)); }
Task <RigOapChecklist> IRequestHandler <UpdateAuditProtocolRequest, RigOapChecklist> .Handle(UpdateAuditProtocolRequest request, CancellationToken cancellationToken) { var existingCheckList = RigOapChecklistService.GetCompleteChecklist(request.Protocol.Id); if (existingCheckList == null) { throw new ApplicationException($"UpdateRigOapChecklistHandler: RigChecklist with Id {request.Protocol.Id} does not exist."); } //AutoMapper to Map the fields Mapper.Map(request.Protocol, existingCheckList); //To handle the case when update is done in the DashBoard if (request.Protocol.Questions != null) { Mapper.AddOrUpdate <RigOapChecklistQuestion, Guid>(request.Protocol.Questions, existingCheckList.Questions, (dl, sq) => dl.SingleOrDefault(i => i.OapChecklistQuestionId == sq.OapChecklistQuestionId)); foreach (var sq in request.Protocol.Questions) { var dq = existingCheckList.Questions.SingleOrDefault(q => q.OapChecklistQuestionId == sq.OapChecklistQuestionId); if (dq != null) { Mapper.AddOrUpdate <RigOapChecklistQuestionAnswer, Guid>(sq.Answers, dq.Answers, (dl, sqa) => dl.SingleOrDefault(i => i.RigOapChecklistQuestionId == sqa.RigOapChecklistQuestionId && i.Ordinal == sqa.Ordinal)); } } } //To handle the case when update is done in the DashBoard if (request.Protocol.Comments != null) { Mapper.AddOrUpdate <RigOapChecklistComment, Guid>(request.Protocol.Comments, existingCheckList.Comments, (dl, sq) => dl.SingleOrDefault(i => i.OapChecklistCommentId == sq.OapChecklistCommentId)); } var rigOapChecklist = request.Protocol; using (var ts = new TransactionScope()) { RigOapChecklistService.Update(existingCheckList); ts.Complete(); } return(Task.FromResult(RigOapChecklistService.GetCompleteChecklist(existingCheckList.Id))); }
Task <RigOapChecklist> IRequestHandler <AddAuditProtocolRequest, RigOapChecklist> .Handle(AddAuditProtocolRequest request, CancellationToken cancellationToken) { Guid protocolId = Guid.Empty; using (var ts = new TransactionScope()) { protocolId = RigOapChecklistService.AddProtocol(request.Protocol); OapAuditProtocol modelAuditProtocol = new OapAuditProtocol(); modelAuditProtocol.Id = 0; modelAuditProtocol.AuditId = request.AuditId; modelAuditProtocol.RigOapCheckListId = protocolId; var mapId = AuditProtocolMapService.Add(modelAuditProtocol); ts.Complete(); } var oapProtocol = RigOapChecklistService.GetCompleteChecklist(protocolId); return(Task.FromResult(oapProtocol)); }
Task <IEnumerable <RigOapChecklist> > IRequestHandler <AddProtocolsRequest, IEnumerable <RigOapChecklist> > .Handle(AddProtocolsRequest request, CancellationToken cancellationToken) { Guid protocolId = Guid.Empty; using (var ts = new TransactionScope()) { foreach (var protocol in request.Protocols) { protocolId = RigOapChecklistService.AddProtocol(protocol); OapAuditProtocol modelAuditProtocol = new OapAuditProtocol(); modelAuditProtocol.Id = 0; modelAuditProtocol.AuditId = request.AuditId; modelAuditProtocol.RigOapCheckListId = protocolId; var mapId = AuditProtocolMapService.Add(modelAuditProtocol); } ts.Complete(); } var oapProtocols = AuditProtocolMapService.GetProtocolsByAuditId(request.AuditId); return(Task.FromResult(oapProtocols)); }
Task <bool> IRequestHandler <ProcessOapAuditWorkFlowRequest, bool> .Handle(ProcessOapAuditWorkFlowRequest request, CancellationToken cancellationToken) { var existingRigChecklist = RigOapChecklistService.Get(request.RigChecklistId); if (existingRigChecklist == null) { return(Task.FromResult(false)); } switch (request.Transition.ToLower()) { case "sign": RigOapChecklistWorkflowService.SignWorkFlow(existingRigChecklist, request.UserId, request.Order, request.Comment); break; case "review": RigOapChecklistWorkflowService.Review(existingRigChecklist, request.UserId, request.Order, request.Comment); UpdateAuditStatus(request.Audit); break; case "reject": RigOapChecklistWorkflowService.RejectWorkFlow(existingRigChecklist, request.UserId, request.Order, request.Comment); break; case "cancel": RigOapChecklistWorkflowService.Cancel(existingRigChecklist, request.UserId, request.Order, request.Comment); break; default: break; } return(Task.FromResult(true)); }
Task <bool> IRequestHandler <ProcessRigOapChecklistWorflowRequest, bool> .Handle(ProcessRigOapChecklistWorflowRequest request, CancellationToken cancellationToken) { var existingRigChecklist = RigOapChecklistService.Get(request.RigChecklistId); if (existingRigChecklist == null) { return(Task.FromResult(false)); } switch (request.Transition.ToLower()) { case "sign": RigOapChecklistWorkflowService.SignWorkFlow(existingRigChecklist, request.UserId, request.Order, request.Comment); break; case "review": RigOapChecklistWorkflowService.Review(existingRigChecklist, request.UserId, request.Order, request.Comment); break; case "reject": RigOapChecklistWorkflowService.RejectWorkFlow(existingRigChecklist, request.UserId, request.Order, request.Comment); break; case "cancel": RigOapChecklistWorkflowService.Cancel(existingRigChecklist, request.UserId, request.Order, request.Comment); break; default: break; } //WorkflowTransition workflowTransition = null; //WorkflowRequest workflowRequest = null; //switch (request.Transition.ToLower()) //{ // case "sign": // workflowTransition = new SignTransition(request.Transition); // var signinputs = new Dictionary<string, object>(); // signinputs.Add("Verifier", request.UserId); // workflowRequest = new SignRequest(signinputs); // break; // case "approve": // case "review": // workflowTransition = new ApprovalTransition(request.Transition); // var approvalinputs = new Dictionary<string, object>(); // approvalinputs.Add("Verifier", request.UserId); // workflowRequest = new ApprovalRequest(approvalinputs); // break; // case "reject": // workflowTransition = new RejectionTransition(request.Transition); // var rejectinputs = new Dictionary<string, object>(); // rejectinputs.Add("Verifier", request.UserId); // workflowRequest = new RejectionRequest(request.Comment, request.Comment, rejectinputs); // break; // default: // return Task.FromResult(false); //} //existingRigChecklist.ProcessWorkflow(RigOapChecklistWorkflowService, WorkflowEngineService, WorkflowService, workflowTransition, workflowRequest, Log); return(Task.FromResult(true)); }
public Task <IEnumerable <RigOapChecklistQuestion> > Handle(GetRelatedQuestionSearchProtocolRequest request, CancellationToken cancellationToken) { var cl = RigOapChecklistService.GetRelatedQuestionSearch(request.QuestionId, request.FromDate, request.ToDate, request.SearchBy); return(Task.FromResult(cl)); }
Task <RigOapChecklist> IRequestHandler <UpdateRigOapChecklistRequest, RigOapChecklist> .Handle(UpdateRigOapChecklistRequest request, CancellationToken cancellationToken) { var existingCheckList = RigOapChecklistService.GetCompleteChecklist(request.Checklist.Id); if (existingCheckList == null) { throw new ApplicationException($"UpdateRigOapChecklistHandler: RigChecklist with Id {request.Checklist.Id} does not exist."); } //AutoMapper to Map the fields Mapper.Map(request.Checklist, existingCheckList); //To handle the case when update is done in the DashBoard if (request.Checklist.Questions != null) { Mapper.AddOrUpdate <RigOapChecklistQuestion, Guid>(request.Checklist.Questions, existingCheckList.Questions, (dl, sq) => dl.SingleOrDefault(i => i.OapChecklistQuestionId == sq.OapChecklistQuestionId)); foreach (var sq in request.Checklist.Questions) { var dq = existingCheckList.Questions.SingleOrDefault(q => q.OapChecklistQuestionId == sq.OapChecklistQuestionId); if (dq != null) { Mapper.AddOrUpdate <RigOapChecklistQuestionAnswer, Guid>(sq.Answers, dq.Answers, (dl, sqa) => dl.SingleOrDefault(i => i.RigOapChecklistQuestionId == sqa.RigOapChecklistQuestionId && i.Ordinal == sqa.Ordinal)); //if (sq.NoAnswerComment != null && dq.NoAnswerComment == null) //Add //{ // sq.NoAnswerComment.Id = sq.Id; // var id = ChecklistQuestionNoAnswerCommentService.Add(sq.NoAnswerComment); //} //else if (sq.NoAnswerComment == null && dq.NoAnswerComment != null) //{ // ChecklistQuestionNoAnswerCommentService.Delete(dq.NoAnswerComment); //} //else if (sq.NoAnswerComment != null && dq.NoAnswerComment != null) //{ // //var saveFile = !string.IsNullOrEmpty(sq.NoAnswerComment.FileName) && string.IsNullOrEmpty(dq.NoAnswerComment.FileName); // //if (saveFile) // //{ // // var imageLocation = $"{ConfigurationManager.AppSettings["uploadfilepath"]}\\{sq.NoAnswerComment.FileName}"; // // sq.NoAnswerComment.FileStream?.Save(imageLocation); // //} // Mapper.Map(sq.NoAnswerComment, dq.NoAnswerComment); // ChecklistQuestionNoAnswerCommentService.Update(sq.NoAnswerComment); //} } } } //To handle the case when update is done in the DashBoard if (request.Checklist.Comments != null) { Mapper.AddOrUpdate <RigOapChecklistComment, Guid>(request.Checklist.Comments, existingCheckList.Comments, (dl, sq) => dl.SingleOrDefault(i => i.OapChecklistCommentId == sq.OapChecklistCommentId)); } var rigOapChecklist = request.Checklist; using (var ts = new TransactionScope()) { RigOapChecklistService.Update(existingCheckList); ts.Complete(); } return(Task.FromResult(RigOapChecklistService.GetCompleteChecklist(existingCheckList.Id))); }