public static void UpdateEventJobStatusAndRunWhen(int eventJobId, EventJobStatus status)
 {
     var dc = new ProcessRunnerDcDataContext();
     var eventJob = dc.Event_Jobs.Single(ej => ej.Id == eventJobId);
     eventJob.Status = (int)status;
     dc.SubmitChanges();
     if (status == EventJobStatus.Working)
         dc.UpdateEventJobRunWhen(eventJobId);
 }
 public static void LogMessage(int? eventJobId, EventMessageSeverity severity, string context, string message, BackgroundWorker bgWorker)
 {
     var dc = new ProcessRunnerDcDataContext();
     var eventMessage = new Event_Message();
     if (eventJobId.HasValue)
         eventMessage.Event_JobId = eventJobId.Value;
     eventMessage.Severity = (int)severity;
     if (!string.IsNullOrEmpty(context))
         eventMessage.Context = context;
     if (!string.IsNullOrEmpty(message))
         eventMessage.Message = message;
     dc.Event_Messages.InsertOnSubmit(eventMessage);
     dc.SubmitChanges();
     if (bgWorker != null)
         bgWorker.ReportProgress(0, message);
 }