private void ManagerInsertOrDeleteOrUpdated_InsertedOrDeleted(object sender, string e) { try { DbRealTimeManager mng = (DbRealTimeManager)sender; if (e == "Insert") { Dispatcher.Invoke(() => { ReFillTreeCategoryVisual(); }); } else if (e == "Delete") { Dispatcher.Invoke(() => { ReFillTreeCategoryVisual(); }); } else { throw new Exception(); } } catch { } }
public void RunAfterCreated() { try { Task.Run(() => { try { ReFillTreeCategoryVisual(); PhonebookContext db = new PhonebookContext(ConnectionStringBuilder.ConnectionString); var li = db.ChangeTracingkInformations.Single(r => r.TableName == nameof(Category) && r.Action == "Insert"); //last inserted var ld = db.ChangeTracingkInformations.Single(r => r.TableName == nameof(Category) && r.Action == "Delete"); //last deleted var lu = db.ChangeTracingkInformations.Single(r => r.TableName == nameof(Category) && r.Action == "Update"); //last updated bool chkSync1 = false; Dispatcher.InvokeAsync(() => { chkSync1 = chkSync.IsChecked.HasValue ? !chkSync.IsChecked.Value : true; }); managerInsertOrDelete = new DbRealTimeManager() { ActionInsert = true, ActionDelete = true, ActionUpdate = true, TabelName = nameof(Category), Interval = 100, CurrentStop = chkSync1, }; managerInsertOrDelete.Inserted += ManagerInsertOrDeleteOrUpdated_InsertedOrDeleted; managerInsertOrDelete.Deleted += ManagerInsertOrDeleteOrUpdated_InsertedOrDeleted; managerInsertOrDelete.Updated += ManagerInsertOrDelete_Updated;; managerInsertOrDelete.LastTimeInsert = li.LastTime; managerInsertOrDelete.LastTimeDelete = ld.LastTime; managerInsertOrDelete.LastTimeUpdate = lu.LastTime; Thread thread = new Thread(managerInsertOrDelete.Run) { IsBackground = true }; thread.Start(managerInsertOrDelete); } catch { } }); } catch { } }
private void ManagerInsertOrDelete_Updated(object sender, string e) { try { DbRealTimeManager mng = (DbRealTimeManager)sender; Dispatcher.Invoke(() => { ReFillTreeCategoryVisual(); }); } catch { } }