/// <summary> /// Retrieves all mailing sessions that are broken. /// </summary> /// <param name="userConnection">The user connection.</param> /// <param name="jobGroupName">The name of job group.</param> /// <returns>Dictionary with sessisonId as a key and bulkEmailId as a value</returns> private Dictionary <Guid, Guid> GetBrokenTriggerEmailSessions(UserConnection userConnection, string jobGroupName) { var brokenSessions = new Dictionary <Guid, Guid>(); Dictionary <Guid, Guid> emailSessions = GetTriggerEmailInProgress(userConnection); foreach (var session in emailSessions) { string jobName = MailingSchedulerUtilities.GetTriggerEmailJobName(session.Value, session.Key); if (MailingSchedulerUtilities.FindJob(jobName, jobGroupName) != null) { continue; } brokenSessions.Add(session.Key, session.Value); } return(brokenSessions); }
/// <summary> /// Schedules bulk email from send queue to sent. /// </summary> public void ScheduleBulkEmailsFromSendQueue() { IEnumerable <Guid> bulkEmailIds = GetBulkEmailsFromSendQueue(); foreach (Guid entityId in bulkEmailIds) { string jobName = GetJobName(entityId); IJobDetail jobDetail = MailingSchedulerUtilities.FindJob(jobName, JobGroupName); if (jobDetail != null) { continue; } ShiftTriggerEmailStartDate(entityId, TriggerEmailStartDateShift); ScheduleImmediateJob(jobName, entityId); } }
public static IJobDetail FindJob(string jobName, string jobGroupName) { return(MailingSchedulerUtilities.FindJob(jobName, jobGroupName)); }