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)); } }
private void TestDependency_change(object sender, TableDependency.EventArgs.RecordChangedEventArgs <Entity.test> e) { if (e.ChangeType != ChangeType.None) { MessageBox.Show("Table change event occured"); } }
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); } }
public void OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <T> e) { if (e.ChangeType != ChangeType.None) { Task.Run(() => daoTableWatcherSqlServer.InserirOnChange(e)); } }
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()); } }
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; //} }
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; } }
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; } } }
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); }
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) { }
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) { }
private void tableDependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <SpoilDto> e) { SyncSpoilChanges(e.Entity, e.ChangeType); }
private void Dependency_OnChanged(object sender, TableDependency.EventArgs.RecordChangedEventArgs <Campaign> e) { CampaignHub.SendCampaigns(); }