public JobExecutionHistory CreateJobExecutionHistory(JobData job) { BackgroundWorkerJobExecutionHistory history = new BackgroundWorkerJobExecutionHistory { AbsoluteTimeout = job.AbsoluteTimeout, CreatedDate = job.CreatedDate, Instance = job.Instance, JobUniqueId = job.UniqueId, Data = job.Data, EndDateTime = job.LastEndTime, ErrorMessage = job.LastErrorMessage, JobId = job.Id, MetaData = job.MetaData, QueueId = job.QueueId, StartDateTime = job.LastStartTime ?? DateTime.Now, StatusId = (int)job.Status, Success = job.Status == JobStatus.Done, Type = job.JobType.AssemblyQualifiedName, Application = job.Application, Group = job.Group, Name = job.Name, Description = job.Description, }; using (Linq2SqlJobStoreDalDataContext context = new Linq2SqlJobStoreDalDataContext(connectionString)) { context.BackgroundWorkerJobExecutionHistories.InsertOnSubmit(history); try { context.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict); return(new JobExecutionHistory { AbsoluteTimeout = history.AbsoluteTimeout, Application = history.Application, CreatedDate = history.CreatedDate, Data = history.Data, Description = history.Description, EndTime = history.EndDateTime, ErrorMessage = history.ErrorMessage, Group = history.Group, Id = history.Id, Instance = history.Instance, JobId = history.JobId, JobType = Type.GetType(history.Type), JobUniqueId = history.JobUniqueId, MetaData = history.MetaData, Name = history.Name, QueueId = history.QueueId, StartTime = history.StartDateTime, Status = (JobStatus)history.StatusId, Success = history.Success ?? false, }); } catch (Exception ex) { logger.Error(string.Format("Failed to submit changes to the database."), ex); } } return(null); }
partial void DeleteBackgroundWorkerJobExecutionHistory(BackgroundWorkerJobExecutionHistory instance);
partial void InsertBackgroundWorkerJobExecutionHistory(BackgroundWorkerJobExecutionHistory instance);