public void HandleTaskEnd(object s, DispatchEventArgs e) { QueuedTasks.Remove(e.Task.ID); if (!e.Task.Recurring) { Tasks.Remove(e.Task); } if ((PuckCache.UpdateTaskLastRun && !e.Task.Recurring) || (PuckCache.UpdateRecurringTaskLastRun && e.Task.Recurring)) { var repo = PuckCache.PuckRepo; var taskMeta = repo.GetPuckMeta().Where(x => x.Name == DBNames.Tasks && x.ID == e.Task.ID).FirstOrDefault(); if (taskMeta != null) { taskMeta.Value = JsonConvert.SerializeObject(e.Task); repo.SaveChanges(); repo = null; } } }
public void HandleTaskEnd(object s, DispatchEventArgs e) { int removedId = 0; QueuedTasks.Remove(e.Task.ID, out removedId); if (!e.Task.Recurring) { Tasks.Remove(e.Task); } if ((PuckCache.UpdateTaskLastRun && !e.Task.Recurring) || (PuckCache.UpdateRecurringTaskLastRun && e.Task.Recurring)) { using (var scope = PuckCache.ServiceProvider.CreateScope()) { var repo = scope.ServiceProvider.GetService <I_Puck_Repository>(); var taskMeta = repo.GetPuckMeta().Where(x => x.Name == DBNames.Tasks && x.ID == e.Task.ID).FirstOrDefault(); if (taskMeta != null) { taskMeta.Value = JsonConvert.SerializeObject(e.Task); repo.SaveChanges(); repo = null; } } } }