コード例 #1
0
 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);
     });
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: abcox/TestDbConnection
        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);
            }
        }
コード例 #3
0
 private void SqlDependencyOnTableChanged(object sender, SqlDependencyEx.TableChangedEventArgs e)
 {
     OnDataUpdated?.Invoke(this, new DataUpdatedEventArgs
     {
         Action = (ActionType)e.NotificationType,
         Data   = e.Data
     });
 }
コード例 #4
0
 private static void ListenerOnTableChanged(object sender, SqlDependencyEx.TableChangedEventArgs tableChangedEventArgs)
 {
     Console.WriteLine("EventType: {0}", tableChangedEventArgs.NotificationType);
     Console.WriteLine("Data: {0}", tableChangedEventArgs.Data);
 }
コード例 #5
0
 private void _Dependency_TableChanged(object sender, SqlDependencyEx.TableChangedEventArgs e)
 {
     Console.WriteLine("TableChanged!");
     _Event(sender, e);
 }
コード例 #6
0
 private static void TableChangedEvent(object sender, SqlDependencyEx.TableChangedEventArgs e)
 {
     Console.WriteLine("Table Event: {0} \nData: {1} \n", e.NotificationType, e.Data);
 }