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