Beispiel #1
0
        public static IDNTBuilder AddFluentModelValidation(this IDNTBuilder builder)
        {
            builder.Services.AddTransient(typeof(IModelValidator <>), typeof(FluentValidationModelValidator <>));
            builder.Services.AddSingleton <IValidatorFactory, ServiceProviderValidatorFactory>();

            return(builder);
        }
        public static IDNTBuilder AddModelValidation(this IDNTBuilder builder)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));

            builder.Services.AddTransient <IMethodParameterValidator, ModelValidationMethodParameterValidator>();
            return(builder);
        }
        public static IDNTBuilder AddMemoryCache(this IDNTBuilder builder)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));

            builder.Services.AddMemoryCache();
            builder.Services.AddSingleton <ICacheService, MemoryCacheService>();
            return(builder);
        }
        public static IDNTBuilder AddDataAnnotationValidation(this IDNTBuilder builder)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));

            builder.Services.AddTransient <IMethodParameterValidator, ValidatableObjectMethodParameterValidator>();
            builder.Services.AddTransient <IMethodParameterValidator, DataAnnotationMethodParameterValidator>();
            return(builder);
        }
        public static IDNTBuilder AddTransactionOptions(this IDNTBuilder builder,
                                                        Action <TransactionOptions> setupAction)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));
            Guard.ArgumentNotNull(setupAction, nameof(setupAction));

            builder.Services.Configure(setupAction);
            return(builder);
        }
Beispiel #6
0
        public static IDNTBuilder AddTransaction(
            this IDNTBuilder builder,
            Action <TransactionOptions> setupAction = null)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));

            builder.Services.AddTransient <TransactionInterceptor>();
            builder.Services.AddScoped <ITransactionProvider>(provider => NullTransactionProvider.Instance);

            if (setupAction != null)
            {
                builder.Services.Configure(setupAction);
            }

            return(builder);
        }
Beispiel #7
0
        public static IDNTBuilder AddAuditing(
            this IDNTBuilder builder,
            Action <AuditingOptions> setupAction = null)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));

            builder.Services.AddScoped <AuditingInterceptor>();
            builder.Services.AddScoped <IAuditingHelper, AuditingHelper>();
            builder.Services.AddScoped <IAuditingStore, DefaultAuditingStore>();

            if (setupAction != null)
            {
                builder.Services.Configure(setupAction);
            }

            return(builder);
        }
Beispiel #8
0
        public static IDNTBuilder AddModelValidation(
            this IDNTBuilder builder,
            Action <ValidationOptions> setupAction = null)
        {
            Guard.ArgumentNotNull(builder, nameof(builder));

            builder.Services.AddTransient <ValidationInterceptor>();
            builder.Services.AddTransient <MethodInvocationValidator>();
            builder.Services.AddTransient <IMethodParameterValidator, DataAnnotationMethodParameterValidator>();
            builder.Services.AddTransient <IMethodParameterValidator, ValidatableObjectMethodParameterValidator>();
            builder.Services.AddTransient <IMethodParameterValidator, ModelValidationMethodParameterValidator>();

            if (setupAction != null)
            {
                builder.Services.Configure(setupAction);
            }

            return(builder);
        }
Beispiel #9
0
 public static IDNTBuilder AddFluentModelValidation(this IDNTBuilder builder)
 {
     builder.Services.AddTransient(typeof(IModelValidator <>), typeof(FluentValidationModelValidator <>));
     return(builder);
 }