Пример #1
0
        public bool ApproveOrRejectAuditPlan(AuditWorkflowData audit)
        {
            using (var scope = _serviceProvider.CreateScope())
            {
                var _mapper = scope.ServiceProvider.GetService(typeof(IMapper)) as IMapper;
                var _ctx    = scope.ServiceProvider.GetService(typeof(SQLHoshinCoreContext)) as SQLHoshinCoreContext;

                var auditResult = _ctx.Audits
                                  .Where(x => x.AuditID == audit.AuditID)
                                  .FirstOrDefault();

                auditResult.ApprovePlanComments = audit.ApprovePlanComments;
                auditResult.AuditStateID        = audit.AuditStateID;

                _ctx.Audits.Update(auditResult);
                _ctx.SaveChanges();

                return(true);
            }
        }
Пример #2
0
        public override ExecutionResult Run(IStepExecutionContext context)
        {
            AuditWorkflowData auditData = _auditRepository.GetOneByWorkflowId(context.Workflow.Id);

            auditData.AuditTeam                = AuditTeam;
            auditData.AuditInitDate            = AuditInitDate;
            auditData.AuditInitTime            = AuditInitTime;
            auditData.AuditFinishDate          = AuditFinishDate;
            auditData.AuditFinishTime          = AuditFinishTime;
            auditData.DocumentsAnalysisDate    = DocumentsAnalysisDate;
            auditData.DocumentAnalysisDuration = DocumentAnalysisDuration;
            auditData.ReportEmittedDate        = ReportEmittedDate;
            auditData.CloseMeetingDate         = CloseMeetingDate;
            auditData.CloseMeetingDuration     = CloseMeetingDuration;
            auditData.CloseDate                = CloseDate;
            auditData.AuditStateID             = _auditStateRepository.GetOneByCode("PPA");
            _auditRepository.PlanAudit(auditData, AuditStandardAspects);


            List <string> sectorPlantReferrents = _sectorPlantRepository.GetSectorPlantReferredEmail(auditData.PlantID, auditData.SectorID);

            EmailAddresses.AddRange(_userWorkflowRepository.GetUsersEmailResponsibleSGC());

            //EmailAddresses.AddRange(sectorPlantReferrents);

            //If auditor is internal, send email
            //if (!string.IsNullOrEmpty(auditData.AuditorID))
            //{
            //    EmailAddresses.Add(_auditRepository.GetAuditorEmail(auditData.AuditorID));
            //}

            //Left responsible of SGC

            auditData = _auditRepository.GetOneByWorkflowId(auditData.WorkflowId);
            var emailType = "plan";

            this.EmailSubject = EmailStrings.GetSubjectAudit(auditData.AuditTypeName, emailType);
            this.EmailMessage = EmailStrings.GetMessageAudit(auditData, _emailSettings.Url, emailType);

            return(ExecutionResult.Next());
        }
Пример #3
0
        public bool EmmitReport(AuditWorkflowData audit)
        {
            using (var scope = _serviceProvider.CreateScope())
            {
                var _mapper = scope.ServiceProvider.GetService(typeof(IMapper)) as IMapper;
                var _ctx    = scope.ServiceProvider.GetService(typeof(SQLHoshinCoreContext)) as SQLHoshinCoreContext;

                var auditResult = _ctx.Audits
                                  .Where(x => x.AuditID == audit.AuditID)
                                  .FirstOrDefault();

                auditResult.AuditStateID   = audit.AuditStateID;
                auditResult.Conclusion     = audit.Conclusion;
                auditResult.Recomendations = audit.Recomendations;

                _ctx.Audits.Update(auditResult);
                _ctx.SaveChanges();

                return(true);
            }
        }
Пример #4
0
        public override ExecutionResult Run(IStepExecutionContext context)
        {
            AuditWorkflowData auditData = _auditRepository.GetOneByWorkflowId(context.Workflow.Id);

            auditData.ApproveReportComments = ApproveReportComments;
            auditData.AuditStateID          = _auditStateRepository.GetOneByCode("IAP");

            List <string> sectorPlantReferrents = _sectorPlantRepository.GetSectorPlantReferredEmail(auditData.PlantID, auditData.SectorID);

            EmailAddresses.AddRange(sectorPlantReferrents);
            _auditRepository.ApproveOrRejectReportAudit(auditData);
            //If auditor is internal, send email
            if (!string.IsNullOrEmpty(auditData.AuditorID))
            {
                EmailAddresses.Add(_auditRepository.GetAuditorEmail(auditData.AuditorID));
            }

            //Add responsible of SGC
            List <string> responsibleSGC = _userWorkflowRepository.GetUsersEmailResponsibleSGC();

            EmailAddresses.AddRange(responsibleSGC);

            auditData = _auditRepository.GetOneByWorkflowId(auditData.WorkflowId);
            var emailType = "close";

            this.EmailSubject = EmailStrings.GetSubjectAudit(auditData.AuditTypeName, emailType);
            this.EmailMessage = EmailStrings.GetMessageAudit(auditData, _emailSettings.Url, emailType);

            var findingsWorkFlow = _findingRepository.GetAllByAuditID(auditData.AuditID);

            foreach (var finding in findingsWorkFlow)
            {
                finding.Flow        = "Finding";
                finding.FlowVersion = 1;
                _workflowCore.StartFlow(finding);
            }

            // _auditStandardAspectRepository.
            return(ExecutionResult.Next());
        }
Пример #5
0
        public AuditWorkflowData Add(AuditWorkflowData audit)
        {
            using (var scope = _serviceProvider.CreateScope())
            {
                var _mapper = scope.ServiceProvider.GetService(typeof(IMapper)) as IMapper;
                var _ctx    = scope.ServiceProvider.GetService(typeof(SQLHoshinCoreContext)) as SQLHoshinCoreContext;

                Audits mappedAudit = _mapper.Map <AuditWorkflowData, Audits>(audit);
                mappedAudit.AuditStandards = new List <AuditStandard>();
                foreach (int item in audit.AuditStandard)
                {
                    mappedAudit.AuditStandards.Add(new AuditStandard {
                        StandardID = item, AuditID = 0
                    });
                }

                _ctx.Audits.Add(mappedAudit);
                _ctx.SaveChanges();

                return(_mapper.Map <Audits, AuditWorkflowData>(mappedAudit));
            }
        }
Пример #6
0
        public override ExecutionResult Run(IStepExecutionContext context)
        {
            AuditWorkflowData auditWorkflowData = new AuditWorkflowData();

            auditWorkflowData.PlantID         = PlantID;
            auditWorkflowData.SectorID        = SectorID;
            auditWorkflowData.AuditorID       = AuditorID;
            auditWorkflowData.ExternalAuditor = ExternalAuditor;
            auditWorkflowData.CreationDate    = CreationDate;
            auditWorkflowData.AuditInitDate   = AuditInitDate;
            auditWorkflowData.AuditTypeID     = AuditTypeID;
            auditWorkflowData.AuditStandard   = AuditStandard;
            auditWorkflowData.AuditStateID    = _auditStateRepository.GetOneByCode("PRO");
            auditWorkflowData.WorkflowId      = context.Workflow.Id;

            _auditRepository.Add(auditWorkflowData);

            //Responsible of sector-plant
            List <string> sectorPlantReferrents = _sectorPlantRepository.GetSectorPlantReferredEmail(PlantID, SectorID);

            EmailAddresses.AddRange(sectorPlantReferrents);

            //If auditor is internal, send email
            if (!string.IsNullOrEmpty(AuditorID))
            {
                EmailAddresses.Add(_auditRepository.GetAuditorEmail(AuditorID));
            }

            auditWorkflowData = _auditRepository.GetOneByWorkflowId(auditWorkflowData.WorkflowId);
            var emailType = "schedule";

            this.EmailSubject = EmailStrings.GetSubjectAudit(auditWorkflowData.AuditTypeName, emailType);
            this.EmailMessage = EmailStrings.GetMessageAudit(auditWorkflowData, _emailSettings.Url, emailType);

            return(ExecutionResult.Next());
        }
        public async Task <bool> Execute(AuditWorkflowData audit)
        {
            await _workflowCore.ExecuteEvent("Approve", audit.WorkflowId, audit);

            return(true);
        }