private static async Task ListenerOnTableChanged(object sender, SqlDependencyEx.TableChangedEventArgs tableChangedEventArgs) { await Task.Factory.StartNew(() => { Console.WriteLine("EventType: {0}", tableChangedEventArgs.NotificationType); Console.WriteLine("Data: {0}", tableChangedEventArgs.Data); }); }
private static void OnPriceBookTableChanged(object sender, SqlDependencyEx.TableChangedEventArgs tableChangedEventArgs) { Console.WriteLine("EventType: {0}", tableChangedEventArgs.NotificationType); Console.WriteLine("Data: {0}", tableChangedEventArgs.Data); try { //var result = JsonConvert.DeserializeObject<ListenerResponse_TpPriceBookRecord>(tableChangedEventArgs.Data.ToString()); XmlSerializer serializer = new XmlSerializer(typeof(ListenerResponse_TpPriceBookRecord)); // convert string to stream byte[] byteArray = Encoding.UTF8.GetBytes(tableChangedEventArgs.Data.ToString()); //byte[] byteArray = Encoding.ASCII.GetBytes(contents); MemoryStream stream = new MemoryStream(byteArray); var result = (ListenerResponse_TpPriceBookRecord)serializer.Deserialize(stream); //todo: write record in destination database... var cnn2 = Configuration.GetConnectionString("SubsciberConnection"); using (IDbConnection db = new SqlConnection(cnn2)) { string insertQuery = @"INSERT INTO [dbo].[PriceBook]([Name], [Price], [RefId]) VALUES (@Name, @Price, @RefId)"; var result2 = db.Execute(insertQuery, new TpPriceBookRecord { Name = result.inserted.row.Name, Price = result.inserted.row.Price, RefId = result.inserted.row.Id, }); } Console.WriteLine("result: {0}", result.inserted.row.Name); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void SqlDependencyOnTableChanged(object sender, SqlDependencyEx.TableChangedEventArgs e) { OnDataUpdated?.Invoke(this, new DataUpdatedEventArgs { Action = (ActionType)e.NotificationType, Data = e.Data }); }
private static void ListenerOnTableChanged(object sender, SqlDependencyEx.TableChangedEventArgs tableChangedEventArgs) { Console.WriteLine("EventType: {0}", tableChangedEventArgs.NotificationType); Console.WriteLine("Data: {0}", tableChangedEventArgs.Data); }
private void _Dependency_TableChanged(object sender, SqlDependencyEx.TableChangedEventArgs e) { Console.WriteLine("TableChanged!"); _Event(sender, e); }
private static void TableChangedEvent(object sender, SqlDependencyEx.TableChangedEventArgs e) { Console.WriteLine("Table Event: {0} \nData: {1} \n", e.NotificationType, e.Data); }