public override ExecutionResult Run(IStepExecutionContext context) { AuditWorkflowData auditData = _auditRepository.GetOneByWorkflowId(context.Workflow.Id); auditData.Recomendations = Recomendations; auditData.Conclusion = Conclusion; auditData.AuditStateID = _auditStateRepository.GetOneByCode("IPA"); List <string> sectorPlantReferrents = _sectorPlantRepository.GetSectorPlantReferredEmail(auditData.PlantID, auditData.SectorID); EmailAddresses.AddRange(sectorPlantReferrents); _auditRepository.EmmitReport(auditData); //If auditor is internal, send email if (!string.IsNullOrEmpty(auditData.AuditorID)) { EmailAddresses.Add(_auditRepository.GetAuditorEmail(auditData.AuditorID)); } var emailType = "emmitreport"; this.EmailSubject = EmailStrings.GetSubjectAudit(auditData.AuditTypeName, emailType); this.EmailMessage = EmailStrings.GetMessageAudit(auditData, _emailSettings.Url, emailType); //Add responsible of SGC List <string> responsibleSGC = _userWorkflowRepository.GetUsersEmailResponsibleSGC(); EmailAddresses.AddRange(responsibleSGC); return(ExecutionResult.Next()); }