Пример #1
0
        public void Setup()
        {
            revisionListener = new RevListener();
            var cfg = new FluentConfiguration();

            cfg.SetRevisionEntity <RevisionEntity>(e => e.Number, e => e.Timestamp, revisionListener);
            metas = cfg.CreateMetaData(FakeNHibernateConfiguration.For <RevisionEntity>());
        }
 private void initListenerFromListenerType()
 {
     try
     {
         _listener = (IRevisionListener)Activator.CreateInstance(_listenerType);
     }
     catch (MissingMethodException)
     {
         throw new MappingException($"Revision listener must be of type IRevisionListener (but is: {_listenerType})");
     }
 }
        public DefaultTrackingModifiedEntitiesRevisionInfoGenerator(string revisionInfoEntityName, 
																		System.Type revisionInfoType, 
																		IRevisionListener revisionListener, 
																		PropertyData revisionInfoTimestampData, 
																		bool timestampAsDate,
																		PropertyData modifiedEntityNamesData)
            : base(revisionInfoEntityName, revisionInfoType, revisionListener, revisionInfoTimestampData, timestampAsDate)
        {
            modifiedEntityTypesGetter = ReflectionTools.GetGetter(revisionInfoType, modifiedEntityNamesData);
            modifiedEntityTypesSetter = ReflectionTools.GetSetter(revisionInfoType, modifiedEntityNamesData);
        }
Пример #4
0
 public DefaultTrackingModifiedEntitiesRevisionInfoGenerator(string revisionInfoEntityName,
                                                             System.Type revisionInfoType,
                                                             IRevisionListener revisionListener,
                                                             PropertyData revisionInfoTimestampData,
                                                             bool timestampAsDate,
                                                             PropertyData modifiedEntityNamesData)
     : base(revisionInfoEntityName, revisionInfoType, revisionListener, revisionInfoTimestampData, timestampAsDate)
 {
     modifiedEntityTypesGetter = ReflectionTools.GetGetter(revisionInfoType, modifiedEntityNamesData);
     modifiedEntityTypesSetter = ReflectionTools.GetSetter(revisionInfoType, modifiedEntityNamesData);
 }
 public DefaultRevisionInfoGenerator(string revisionInfoEntityName,
                                     System.Type revisionInfoType,
                                     IRevisionListener revisionListener,
                                     PropertyData revisionInfoTimestampData,
                                     bool timestampAsDate)
 {
     _revisionInfoEntityName  = revisionInfoEntityName;
     _revisionInfoType        = revisionInfoType;
     _timestampAsDate         = timestampAsDate;
     _revisionTimestampSetter = ReflectionTools.GetSetter(revisionInfoType, revisionInfoTimestampData);
     _listener = revisionListener;
 }
        public DefaultRevisionInfoGenerator(string revisionInfoEntityName,
											System.Type revisionInfoType,
											IRevisionListener revisionListener,
											PropertyData revisionInfoTimestampData,
											bool timestampAsDate)
        {
            _revisionInfoEntityName = revisionInfoEntityName;
            _revisionInfoType = revisionInfoType;
            _timestampAsDate = timestampAsDate;
            _revisionTimestampSetter = ReflectionTools.GetSetter(revisionInfoType, revisionInfoTimestampData);
            _listener = revisionListener;
        }
Пример #7
0
 public FluentRevision(System.Type revisionEntityType,
                       MemberInfo number,
                       MemberInfo timestamp,
                       MemberInfo modifiedEntityNames,
                       IRevisionListener revisionListener)
 {
     RevisionEntityType   = revisionEntityType;
     _number              = number;
     _timestamp           = timestamp;
     _modifiedEntityNames = modifiedEntityNames;
     _revisionListener    = revisionListener;
 }
        /// <summary>
        /// Defines a custom revision entity with a custom <see cref="IRevisionListener"/>.
        /// </summary>
        /// <typeparam name="T">The custom revision entity type</typeparam>
        /// <param name="revisionNumber">Revision number property on custom revision entity</param>
        /// <param name="revisionTimestamp">Revision timestamp property on custom revision entity</param>
        /// <param name="modifiedEntityNames">
        /// Modified entity names property on custom revision entity.
        /// Must be of type <code>ISet{string}</code>.
        /// </param>
        /// <param name="revisionListener">The listener singleton</param>
        public void SetRevisionEntity <T>(Expression <Func <T, object> > revisionNumber,
                                          Expression <Func <T, object> > revisionTimestamp,
                                          Expression <Func <T, object> > modifiedEntityNames,
                                          IRevisionListener revisionListener)
        {
            var modEntNames = modifiedEntityNames?.MethodInfo();

            attributeFactories.Add(new FluentRevision(typeof(T),
                                                      revisionNumber.MethodInfo(),
                                                      revisionTimestamp.MethodInfo(),
                                                      modEntNames,
                                                      revisionListener));
        }
 /// <summary>
 /// Defines a custom revision entity with a custom <see cref="IRevisionListener"/>.
 /// </summary>
 /// <typeparam name="T">The custom revision entity type</typeparam>
 /// <param name="revisionNumber">Revision number property on custom revision entity</param>
 /// <param name="revisionTimestamp">Revision timestamp property on custom revision entity</param>
 /// <param name="revisionListener">The listener singleton</param>
 public void SetRevisionEntity <T>(Expression <Func <T, object> > revisionNumber,
                                   Expression <Func <T, object> > revisionTimestamp,
                                   IRevisionListener revisionListener)
 {
     setRevisionEntity(revisionNumber, revisionTimestamp, null, revisionListener);
 }
 public AttributeConfigurationWithRevisionListener(IRevisionListener revisionListener)
 {
     this.revisionListener = revisionListener;
 }
 public AttributeConfigurationWithRevisionListener(IRevisionListener revisionListener)
 {
     _revisionListener = revisionListener;
 }