using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using Tango.BL; using Tango.Core; using Tango.PPC.Common.UpdatePackages; using Tango.PPC.Shared.Updates; namespace Tango.PPC.Packages.JobRunsStartTimePatch { [PPCPackage(PackageType.Pre, "JobRuns StartTime Patch", false)] public class JobRunsStartTimePatch : ExtendedObject, IPPCPackage { public Task Run(PackageContext context) { return Task.Factory.StartNew(() => { try { LogManager.Log("Fixing corrupted job runs start time values..."); context.ReportProgress("Applying corrupted job runs start date patch..."); Thread.Sleep(5000); //Just so we can see something happened. using (ObservablesContext db = ObservablesContext.CreateDefault()) { db.Database.ExecuteSqlCommand("UPDATE JOB_RUNS SET START_DATE = ACTUAL_START_DATE WHERE START_DATE = '0001-01-01 00:00:00.000';"); } } catch (Exception ex) { LogManager.Log(ex, "Error occurred while trying to apply job runs start date patch."); } }); } } }