protected override void ExecuteJob(IJobExecutionContext context) { IRequestHeaderRepository RequestHeaderRepository = new RequestHeaderRepository(_DbFactory); IEnumerable <FormLongPending> forms = RequestHeaderRepository.GetFormLongPending(3, "BCJ_REQ"); if (forms != null && forms.Count() > 0) { _model = forms.ToList(); SendEmail(); } }
private void SendNotification() { var repository = new Repository(); var emails = repository.ExecDynamicSqlQuery(@"SELECT RH.* FROM HR.COURSE_REGISTRATION R INNER JOIN BPMDATA.REQUEST_HEADER RH ON R.RequestHeaderId = RH.ID WHERE CAST(R.ReminderOn AS DATE) = CAST(GETDATE() AS DATE) AND RH.STATUS IN ('Approved', 'Edit') AND CURRENT_ACTIVITY IN ('Email Notification', 'Modification')"); var repo = new WMRepository(_DbFactory); var RequestApp = repo.GetReqAppByCode("TASCR_REQ"); IRequestHeaderRepository requestHeaderRepository = new RequestHeaderRepository(_DbFactory); if (!IsNullEmpty(emails)) { foreach (var e in emails) { List <EmailFileAttachment> attachments = new List <EmailFileAttachment>(); var recipients = new List <string>(); var originator = requestHeaderRepository.GetRequestorEmail(e.submittedBy); recipients.Add(originator.EMAIL); var ccs = repository.ExecDynamicSqlQuery(string.Format(@"[BPMDATA].[DESTINATION_USERS] @RequestHeaderId = {0}, @ActivityName = 'Email Notification', @IsMergeActivity = 1", e.id)); List <string> ccParticipants = new List <string>(); if (!IsNullEmpty(ccs)) { foreach (var cc in ccs) { ccParticipants.Add(cc.email); } } var genericForm = new GenericFormRpt(); byte[] buffer = genericForm.Export(new GenericFormParam { RequestHeaderId = e.id }, RequestApp.ReportPath, ExportType.Pdf); var FileName = string.Concat(e.title, "_", DateTime.Now.ToString("yyyyMMddhhmmss"), ".pdf"); var fileAttachments = new EmailFileAttachment(FileName, buffer); attachments.Add(fileAttachments); var emailContent = _EmailContentRepository.Get(p => p.JobId == _Job.Id); string content = emailContent.MessageBody.Replace("@Originator", originator.DISPLAY_NAME).Replace("@Title", e.title); _EmailService.SendEmail("Reminder Notification", content, recipients, ccParticipants, null, attachments, null); } } }