Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 7
0
        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)));
        }