public void OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <T> e)
        {
            if (e.ChangeType != ChangeType.None)
            {
                PropertyInfo propInfo  = e.Entity.GetType().GetProperty("Handle");
                object       itemValue = propInfo.GetValue(e.Entity, null);

                switch (e.ChangeType)
                {
                case ChangeType.Delete:
                    Console.WriteLine($"Deletou Id:{ itemValue }");
                    break;

                case ChangeType.Insert:
                    Console.WriteLine($"Inseriu Id:{ itemValue }");
                    break;

                case ChangeType.Update:
                    Console.WriteLine($"Atualizou Id:{ itemValue }");
                    break;
                }

                Task.Run(() => InserirOnChange(itemValue));
            }
        }
Exemplo n.º 2
0
 private void TestDependency_change(object sender, TableDependency.EventArgs.RecordChangedEventArgs <Entity.test> e)
 {
     if (e.ChangeType != ChangeType.None)
     {
         MessageBox.Show("Table change event occured");
     }
 }
Exemplo n.º 3
0
        protected virtual SqlCommand MontaInsertCommand(SqlConnection connection, TableDependency.EventArgs.RecordChangedEventArgs <T> e)
        {
            try
            {
                uiid = Guid.NewGuid();

                SqlCommand command    = new SqlCommand();
                String     jsonInsert = GetJasonValueForInsert(e);

                if (!String.IsNullOrEmpty(jsonInsert))
                {
                    string sql = $"INSERT INTO {nomeTabelaEspelho} (UIID, VALORES) values (@UIID, @VALORES)";

                    command.Parameters.AddWithValue("UIID", uiid.ToString());
                    command.Parameters.AddWithValue("VALORES", jsonInsert);

                    command.Connection  = connection;
                    command.CommandText = sql;

                    return(command);
                }
                else
                {
                    return(null);
                }
            }
            catch
            {
                return(null);
            }
        }
Exemplo n.º 4
0
 public void OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <T> e)
 {
     if (e.ChangeType != ChangeType.None)
     {
         Task.Run(() => daoTableWatcherSqlServer.InserirOnChange(e));
     }
 }
Exemplo n.º 5
0
     private void _dependency_OnChanged(
         object sender, 
         TableDependency.EventArgs.RecordChangedEventArgs<Stock> e)
     {
         if (_stocks != null)
         {
             if (e.ChangeType != ChangeType.None)
             {
                 switch (e.ChangeType)
                 {
                     case ChangeType.Delete:
                         _stocks.Remove(_stocks.FirstOrDefault(c => c.Symbol == e.Entity.Symbol));
                         break;
                     case ChangeType.Insert:
                         _stocks.Add(e.Entity);
                         break;
                     case ChangeType.Update:
                         var customerIndex = _stocks.IndexOf(
                                 _stocks.FirstOrDefault(c => c.Symbol == e.Entity.Symbol));
                         if (customerIndex >= 0) _stocks[customerIndex] = e.Entity;
                         break;
                 }
 
                 this.McDataGrid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                 {
                     this.McDataGrid.Items.Refresh();
                 }));
             }
         }
     }
 private void _tableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <TEntity> e)
 {
     if (RecordChanged != null)
     {
         RecordChanged(sender, e);
     }
 }
        public async Task InserirOnChange(TableDependency.EventArgs.RecordChangedEventArgs <T> e)
        {
            using (OracleConnection connection = new OracleConnection(ConnectionString))
            {
                await Task.Run(() => connection.OpenAsync());

                OracleCommand insertCommand = MontaInsertCommand(connection, e);
                await Task.Run(() => insertCommand.ExecuteNonQueryAsync());
            }
        }
Exemplo n.º 8
0
        private void TableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <Pesawat> e)
        {
            //if (e.ChangeType != TableDependency.Enums.ChangeType.None)
            //{
            var changedEntity = e.Entity;

            richTextBox1.Text += $"DML Operation {e.ChangeType}" + Environment.NewLine;
            richTextBox1.Text += $"ID: { changedEntity.IdPesawat}" + Environment.NewLine;
            richTextBox1.Text += $"Name : {changedEntity.NamaPesawat}" + Environment.NewLine;
            //}
        }
Exemplo n.º 9
0
        private void OnNotificationReceived(object sender, TableDependency.EventArgs.RecordChangedEventArgs <SaleFoodOnline> e)
        {
            switch (e.ChangeType)
            {
            case ChangeType.Delete:
                GetList(e.Entity);
                break;

            case ChangeType.Update:
                GetList(e.Entity);

                break;

            case ChangeType.Insert:
                GetList(e.Entity);

                break;
            }
        }
        protected virtual SqlCommand MontaInsertCommand(SqlConnection connection, TableDependency.EventArgs.RecordChangedEventArgs <T> e)
        {
            SqlCommand command = new SqlCommand();

            Dictionary <String, object> dicionarioValoresInsert = GetValuesForInsert(e);

            string fields = String.Join(",", dicionarioValoresInsert.Select(s => s.Key));
            string values = String.Join(",", dicionarioValoresInsert.Select(s => $"@{s.Key}"));

            string sql = $"INSERT INTO {nomeEntidadeSqlServer}TYPE ({fields}) values ({values})";

            foreach (var item in dicionarioValoresInsert)
            {
                command.Parameters.AddWithValue(item.Key, item.Value);
            }

            command.Connection  = connection;
            command.CommandText = sql;

            return(command);
        }
        public async Task InserirOnChange(TableDependency.EventArgs.RecordChangedEventArgs <T> e)
        {
            try
            {
                using (SqlConnection connection = new SqlConnection(ConnectionString))
                {
                    await Task.Run(() => connection.OpenAsync());

                    SqlCommand insertCommand = MontaInsertCommand(connection, e);
                    if (insertCommand != null)
                    {
                        await Task.Run(() => insertCommand.ExecuteNonQueryAsync());
                    }
                }
            }
            catch (Exception ex)
            {
                var t = ex;
                throw;
            }
        }
Exemplo n.º 12
0
        private void _dependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <Stock> e)
        {
            if (e.ChangeType != ChangeType.None)
            {
                switch (e.ChangeType)
                {
                case ChangeType.Delete:

                    break;

                case ChangeType.Insert:
                    if (e.Entity.AttendaceState.ToLower() == "p")
                    {
                        // Send Present Message Here
                        MessageBox.Show("Student is present");
                    }
                    else if (e.Entity.AttendaceState.ToLower() == "l")
                    {
                        // send Leave Message here
                        MessageBox.Show("Student is Leave");
                    }
                    else if (e.Entity.AttendaceState.ToLower() == "a")
                    {
                        // send absent Message here
                        MessageBox.Show("Student is absent");
                    }
                    else
                    {
                        // send Other Message here
                    }
                    MessageBox.Show(e.Entity.StudentID + " Inserted");
                    break;

                case ChangeType.Update:

                    break;
                }
            }
        }
Exemplo n.º 13
0
        private String GetJasonValueForInsert(TableDependency.EventArgs.RecordChangedEventArgs <T> evento)
        {
            String jasonValues = String.Empty;

            try
            {
                List <object> valores = new List <object>();

                List <PropertyInfo> propriedades = new List <PropertyInfo>(evento.Entity.GetType().GetProperties());

                foreach (PropertyInfo prop in propriedades)
                {
                    if (prop.Name.ToUpper().Equals("HANDLE"))
                    {
                        valores.Add(prop.GetValue(evento.Entity, null));
                    }

                    foreach (object attr in prop.GetCustomAttributes(true))
                    {
                        var    atributoEsocial  = attr as AtributoESocial;
                        object valorPropriedade = prop.GetValue(evento.Entity, null);

                        valores.Add(valorPropriedade);
                    }
                }

                valores.Add(Convert.ToInt32(evento.ChangeType));
                valores.Add(DateTime.Now);
                valores.Add(ConfigurationManager.AppSettings["versaoESocial"]);

                jasonValues = JsonConvert.SerializeObject(valores);
            }
            catch
            {
                jasonValues = null;
            }

            return(jasonValues);
        }
        private Dictionary <String, object> GetValuesForInsert(TableDependency.EventArgs.RecordChangedEventArgs <T> evento)
        {
            Dictionary <String, object> valores = new Dictionary <String, object>();

            List <PropertyInfo> propriedades = new List <PropertyInfo>(evento.Entity.GetType().GetProperties());

            foreach (PropertyInfo prop in propriedades)
            {
                object[] attrs = prop.GetCustomAttributes(true);
                foreach (object attr in attrs)
                {
                    var    authAttr         = attr as AtributoBanco;
                    object valorPropriedade = prop.GetValue(evento.Entity, null);
                    valores.Add(authAttr.NomeBanco, valorPropriedade);
                }
            }

            int valorOperacao = Convert.ToInt32(evento.ChangeType);

            valores.Add("TipoOperacao", valorOperacao.ToString());

            return(valores);
        }
Exemplo n.º 15
0
        protected virtual OracleCommand MontaInsertCommand(OracleConnection connection, TableDependency.EventArgs.RecordChangedEventArgs <T> e)
        {
            try
            {
                OracleCommand command = new OracleCommand();

                String jsonInsert = GetJasonValueForInsert(e);

                if (!String.IsNullOrEmpty(jsonInsert))
                {
                    string sql = $"INSERT INTO {nomeTabelaEspelho} (UIID, VALORES) values (sys_guid(), :VALORES)";
                    command.Parameters.Add("VALORES", jsonInsert);

                    command.Connection  = connection;
                    command.CommandText = sql;

                    return(command);
                }
                else
                {
                    return(null);
                }
            }
            catch
            {
                return(null);
            }
        }
 private void TableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <EventForAllColumnsTestSqlServerModel> e)
 {
 }
Exemplo n.º 17
0
        void tableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <OrderDetailDto> e)
        {
            var orderDetail = e.Entity;

            SyncTransactionChanges(orderDetail, e.ChangeType);
        }
 private void TableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <DatabaseObjectAutoCleanUpAfter2InsertsTestSqlServerModel> e)
 {
 }
 private void TableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <DatabaseObjectCleanUpSqlServerModel> e)
 {
 }
Exemplo n.º 20
0
 private void tableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <SpoilDto> e)
 {
     SyncSpoilChanges(e.Entity, e.ChangeType);
 }
Exemplo n.º 21
0
 private void Dependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <Campaign> e)
 {
     CampaignHub.SendCampaigns();
 }