/// <summary> /// Main function - checks for jobs in a try-catch /// </summary> public void CheckForJobs() { try { JobTracker.UpdateActivityTimestamp(); Job[] jobs = GetListOfJobs(); if (jobs != null && jobs.Length > 0) { Log.Trace(jobs.Length.ToString() + " jobs found!"); foreach (Job job in jobs) { bool trackerHasSeenJob = JobTracker.HasSeenJob(job); bool jobPassesFilters = JobPassesFilters(job); if (!trackerHasSeenJob || (jobPassesFilters && JobTracker.JobNeedsAcceptRetry(job))) { NotificationMailer mailer = new NotificationMailer(SmtpConfig.Gmail); // save job and send intial notification email if (!trackerHasSeenJob) { JobTracker.SaveJob(job); mailer.SendNotification("*****@*****.**", "PR SYSTEM - Job Found!", job.ToString()); } // accept or reject job based on filters if (jobPassesFilters) { if (JobTracker.AutoAcceptEnabled) { Result acceptResult = AcceptJob(job); JobTracker.SaveJobRequest(job, JobRequestType.Accept, acceptResult); mailer.SendNotification("*****@*****.**", "PR SYSTEM - Job Accept Attempt", acceptResult.ResponseXml); } } else { if (JobTracker.AutoRejectEnabled) { Result rejectResult = RejectJob(job); JobTracker.SaveJobRequest(job, JobRequestType.Reject, rejectResult); mailer.SendNotification("*****@*****.**", "PR SYSTEM - Job Reject Attempt", rejectResult.ResponseXml); } } } } } else { Log.Trace("No jobs found."); } } catch (Exception ex) { Log.ErrorException("While checking for jobs, an error has occurred!", ex); try { NotificationMailer mailer = new NotificationMailer(SmtpConfig.Gmail); mailer.SendNotification("*****@*****.**", "PR SYSTEM - ERROR", "Error Text: " + ex.ToString()); } catch (Exception exMail) { Log.ErrorException("Unable to send error notification mail!", exMail); } } }
static void Email() { NotificationMailer mailer = new NotificationMailer(JobulatorLib.Config.SmtpConfig.Gmail); mailer.SendNotification("*****@*****.**", "PR SYSTEM NOTIFICATION", "Testing!"); }