Beispiel #1
0
        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 { }
        }
Beispiel #2
0
        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 { }
        }
Beispiel #3
0
 private void ManagerInsertOrDelete_Updated(object sender, string e)
 {
     try
     {
         DbRealTimeManager mng = (DbRealTimeManager)sender;
         Dispatcher.Invoke(() =>
         {
             ReFillTreeCategoryVisual();
         });
     }
     catch { }
 }