Exemplo n.º 1
0
        public RecordChangedEventArgs(
            MessagesBag messagesBag,
            IModelToTableMapper <T> mapper,
            IEnumerable <TableColumnInfo> userInterestedColumns,
            string server,
            string database,
            string sender,
            CultureInfo cultureInfo,
            bool includeOldValues = false) : base(server, database, sender, cultureInfo)
        {
            this.MessagesBag           = messagesBag;
            this.EntiyProperiesInfo    = ModelUtil.GetModelPropertiesInfo <T>();
            this.UserInterestedColumns = userInterestedColumns;

            this.ChangeType = messagesBag.MessageType;
            this.Entity     = this.MaterializeEntity(messagesBag.Messages.Where(m => !m.IsOldValue).ToList(), mapper);

            if (includeOldValues && this.ChangeType == ChangeType.Update)
            {
                this.EntityOldValues = this.MaterializeEntity(messagesBag.Messages.Where(m => m.IsOldValue).ToList(), mapper);
            }
            else
            {
                this.EntityOldValues = default(T);
            }
        }
        internal RecordChangedEventArgs(MessagesBag messagesBag, ModelToTableMapper <T> mapper, IEnumerable <ColumnInfo> userInterestedColumns)
        {
            this.MessagesBag           = messagesBag;
            this.EntiyProperiesInfo    = ModelUtil.GetModelPropertiesInfo <T>();
            this.UserInterestedColumns = userInterestedColumns;

            ChangeType = messagesBag.MessageType;
            Entity     = MaterializeEntity(messagesBag.MessageSheets, mapper);
        }
 public SqlRecordChangedEventArgs(
     MessagesBag messagesBag,
     IModelToTableMapper <T> mapper,
     IEnumerable <ColumnInfo> userInterestedColumns,
     string server,
     string database,
     string sender,
     CultureInfo cultureInfo) : base(messagesBag, mapper, userInterestedColumns, server, database, sender, cultureInfo)
 {
 }
Exemplo n.º 4
0
 protected virtual RecordChangedEventArgs <T> GetRecordChangedEventArgs(MessagesBag messagesBag)
 {
     return(new RecordChangedEventArgs <T>(
                messagesBag,
                _mapper,
                _userInterestedColumns,
                _server,
                _database,
                _dataBaseObjectsNamingConvention,
                this.CultureInfo));
 }
Exemplo n.º 5
0
        protected void NotifyListenersAboutChange(Delegate[] changeSubscribedList, MessagesBag messagesBag)
        {
            if (changeSubscribedList == null)
            {
                return;
            }

            foreach (var dlg in changeSubscribedList.Where(d => d != null))
            {
                dlg.GetMethodInfo().Invoke(dlg.Target, new object[] { null, this.GetRecordChangedEventArgs(messagesBag) });
            }
        }
        public RecordChangedEventArgs(
            MessagesBag messagesBag,
            IModelToTableMapper <T> mapper,
            IEnumerable <ColumnInfo> userInterestedColumns,
            string server,
            string database,
            string sender,
            CultureInfo cultureInfo) : base(server, database, sender, cultureInfo)
        {
            this.MessagesBag           = messagesBag;
            this.EntiyProperiesInfo    = ModelUtil.GetModelPropertiesInfo <T>();
            this.UserInterestedColumns = userInterestedColumns;

            this.ChangeType = messagesBag.MessageType;
            this.Entity     = this.MaterializeEntity(messagesBag.Messages, mapper);
        }
Exemplo n.º 7
0
        protected void NotifyListenersAboutChange(Delegate[] changeSubscribedList, MessagesBag messagesBag)
        {
            if (changeSubscribedList == null)
            {
                return;
            }

            foreach (var dlg in changeSubscribedList.Where(d => d != null))
            {
                try
                {
                    dlg.GetMethodInfo().Invoke(dlg.Target, new object[] { this, this.GetRecordChangedEventArgs(messagesBag) });
                }
                catch (NoMatchBetweenModelAndTableColumns)
                {
                    throw;
                }
                catch
                {
                    // Intentionally ignored
                }
            }
        }
Exemplo n.º 8
0
 public SqlRecordChangedEventArgs(MessagesBag messagesBag, ModelToTableMapper <T> mapper, IEnumerable <ColumnInfo> userInterestedColumns) : base(messagesBag, mapper, userInterestedColumns)
 {
 }