예제 #1
0
 void INotificationTable.NotificationTable <T>(T entity, SystimeDataAcces.NotificationEntity.Enums.NotificationSqlTypes notificationEvent)
 {
     //TODO: se debe devolver el valor
     Task.Factory.StartNew(() => {
         DateTime dateTime = DateTime.Now;
         List <DynamicQueryParam> lisparams = new SchemaCondition().GetParamsDynamicTableDataEvenTable(entity, ConectionString, Connection, FillterValidatePostScript, QueryPostNotification, TableEvnet, ColumsNotify, dateTime);
         if (lisparams != null)
         {
             NotifierClient notifierClient = new NotifierClient(ConectionString, lisparams, RecipientType, NotificationName);
             notifierClient.SendNotifcations();
         }
     });
 }
예제 #2
0
        private void Onchange(object sender, SqlNotificationEventArgs e)
        {
            if (EventSupportFromQuery.Contains(e.Info) && e.Source == SqlNotificationSource.Data)
            {
                Task.Factory.StartNew(() => {
                    DateTime dateTime = DateTime.Now;
                    List <DynamicQueryParam> lisparams = new SchemaCondition().GetParamsDynamicTableDataEventQuery(JsonConvert.DeserializeObject <SqlNotificationEventArgs>(JsonConvert.SerializeObject(e)), ConectionString, QueryPostNotification, Connection, FillterValidatePostScript, TableEvnet, ColumsNotify, dateTime);
                    if (lisparams != null)
                    {
                        NotifierClient notifierClient = new NotifierClient(ConectionString, lisparams, RecipientType, NotificationName);
                        notifierClient.SendNotifcations();
                    }
                });
            }

            SqlDependency sqlDependecy = (SqlDependency)sender;

            sqlDependecy.OnChange -= new OnChangeEventHandler(Onchange);
            StartServiceQueryDependecy();
        }