示例#1
0
        public static IAuditConfigBuilder IgnoreProperty <TEntity>(this IAuditConfigBuilder configBuilder, Expression <Func <TEntity, object> > propertyExpression) where TEntity : class
        {
            var propertyName = propertyExpression.GetMemberName();

            configBuilder.WithPropertyFilter(propertyEntry => propertyEntry.Metadata.Name != propertyName);
            return(configBuilder);
        }
        public static IAuditConfigBuilder WithHttpContextInfo(this IAuditConfigBuilder enrich, IHttpContextAccessor httpContextAccessor, Action <AuditEntry, HttpContext> enrichAction)
        {
            if (enrich == null)
            {
                throw new ArgumentNullException(nameof(enrich));
            }

            return(enrich.WithEnricher(new AuditHttpContextEnricher(httpContextAccessor, enrichAction)));
        }
        public static IAuditConfigBuilder WithHttpContextInfo(this IAuditConfigBuilder enrich, IServiceProvider serviceProvider, Action <AuditEntry, HttpContext> enrichAction)
        {
            if (enrich == null)
            {
                throw new ArgumentNullException(nameof(enrich));
            }

            return(enrich.WithEnricher(new AuditHttpContextEnricher(serviceProvider.GetRequiredService <IHttpContextAccessor>(), enrichAction)));
        }
示例#4
0
 public static IAuditConfigBuilder IgnoreProperty(this IAuditConfigBuilder configBuilder, string propertyName)
 {
     configBuilder.WithPropertyFilter(propertyEntry => propertyEntry.Metadata.Name != propertyName);
     return(configBuilder);
 }
示例#5
0
 public static IAuditConfigBuilder WithEntityFilter(this IAuditConfigBuilder configBuilder, Func <EntityEntry, bool> filterFunc)
 {
     configBuilder.WithEntityFilter(filterFunc);
     return(configBuilder);
 }
示例#6
0
 public static IAuditConfigBuilder IgnoreTable(this IAuditConfigBuilder configBuilder, string tableName)
 {
     configBuilder.WithEntityFilter(entityEntry => entityEntry.Metadata.GetTableName() != tableName);
     return(configBuilder);
 }
示例#7
0
 public static IAuditConfigBuilder IgnoreEntity <TEntity>(this IAuditConfigBuilder configBuilder) where TEntity : class
 {
     configBuilder.WithEntityFilter(entityEntry => entityEntry.Entity.GetType() != typeof(TEntity));
     return(configBuilder);
 }
示例#8
0
 public static IAuditConfigBuilder IgnoreEntity(this IAuditConfigBuilder configBuilder, Type entityType)
 {
     configBuilder.WithEntityFilter(entityEntry => entityEntry.Entity.GetType() != entityType);
     return(configBuilder);
 }
示例#9
0
 public static IAuditConfigBuilder EnrichWithProperty(this IAuditConfigBuilder configBuilder, string propertyName, object value, bool overwrite = false)
 {
     configBuilder.WithEnricher(new AuditPropertyEnricher(propertyName, value, overwrite));
     return(configBuilder);
 }
示例#10
0
 public static IAuditConfigBuilder WithStore <TAuditStore>(this IAuditConfigBuilder configBuilder, params object[] parameters) where TAuditStore : IAuditStore
 {
     configBuilder.WithStore(ActivatorHelper.CreateInstance <TAuditStore>(parameters));
     return(configBuilder);
 }
示例#11
0
 public static IAuditConfigBuilder WithStore <TAuditStore>(this IAuditConfigBuilder configBuilder) where TAuditStore : IAuditStore, new()
 {
     configBuilder.WithStore(new TAuditStore());
     return(configBuilder);
 }
示例#12
0
 public static IAuditConfigBuilder WithEnricher <TEnricher>(this IAuditConfigBuilder configBuilder, params object[] parameters) where TEnricher : IAuditPropertyEnricher
 {
     configBuilder.WithEnricher(ActivatorHelper.CreateInstance <TEnricher>(parameters));
     return(configBuilder);
 }
示例#13
0
 public static IAuditConfigBuilder WithEnricher <TEnricher>(this IAuditConfigBuilder configBuilder) where TEnricher : IAuditPropertyEnricher, new()
 {
     configBuilder.WithEnricher(new TEnricher());
     return(configBuilder);
 }
示例#14
0
 public static IAuditConfigBuilder WithUserIdProvider <TUserIdProvider>(this IAuditConfigBuilder configBuilder) where TUserIdProvider : IUserIdProvider, new()
 {
     configBuilder.WithUserIdProvider(new TUserIdProvider());
     return(configBuilder);
 }
示例#15
0
 public static IAuditConfigBuilder WithPropertyFilter(this IAuditConfigBuilder configBuilder, Func <PropertyEntry, bool> filterFunc)
 {
     configBuilder.WithPropertyFilter((entity, prop) => filterFunc.Invoke(prop));
     return(configBuilder);
 }
示例#16
0
 public static IAuditConfigBuilder IgnoreColumn(this IAuditConfigBuilder configBuilder, string columnName)
 {
     configBuilder.WithPropertyFilter(propertyEntry => propertyEntry.GetColumnName() != columnName);
     return(configBuilder);
 }
示例#17
0
 public static IAuditConfigBuilder IgnoreColumn(this IAuditConfigBuilder configBuilder, string tableName, string columnName)
 {
     configBuilder.WithPropertyFilter((entityEntry, propertyEntry) => entityEntry.Metadata.GetTableName() != tableName &&
                                      propertyEntry.GetColumnName() != columnName);
     return(configBuilder);
 }
示例#18
0
 public static IAuditConfigBuilder EnrichWithProperty(this IAuditConfigBuilder configBuilder, string propertyName, Func <AuditEntry, object> valueFactory, Func <AuditEntry, bool> predict, bool overwrite = false)
 {
     configBuilder.WithEnricher(new AuditPropertyEnricher(propertyName, valueFactory, predict, overwrite));
     return(configBuilder);
 }