public void Init()
        {
            var container = new Container();

            container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
            var mockIdentityContext = new MockIdentityContext();

            container.RegisterSingleton <IIdentityContext>(mockIdentityContext);

            container.Register <DbContext>(() =>
            {
                var options = new DbContextOptionsBuilder <DbContext>();
                options.ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning));
                options.UseInMemoryDatabase(Guid.NewGuid().ToString());
                return(new DataContext(mockIdentityContext, options.Options));
            }, Lifestyle.Scoped);

            container.ConfigureCore(null);

            Container = container;

            container.Register(typeof(IValidator <>), new[] { typeof(AssemblySetup).Assembly });
            container.Register(typeof(IRequestHandler <,>), new[] { typeof(AssemblySetup).Assembly });

            AutoMapperConfiguration.Configure(typeof(AssemblySetup).Assembly);
            FluentValidationConfiguration.Configure();
        }
예제 #2
0
        /// <summary>
        /// Extensions to configure FluentValidations for the Parser
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="parser"></param>
        /// <param name="configAction">Configuration action</param>
        public static void UseFluentValidations <T>(this ICommandLineParser <T> parser, Action <FluentValidationConfiguration> configAction)
            where T : class, new()
        {
            var config = new FluentValidationConfiguration(parser.Validators, parser.Services);

            configAction(config);
        }
예제 #3
0
 private void OnConfigureFluentValidations(FluentValidationConfiguration config, bool useGeneric, bool useInstantiated)
 {
     if (useGeneric)
     {
         if (useInstantiated)
         {
             config
             .AddValidatorInstance <EmailModel, EmailModelValidator>(emailModelValidator)
             .AddValidatorInstance <FirstModel, FirstModelValidator>(firstModelValidator);
         }
         else
         {
             config
             .AddValidator <EmailModel, EmailModelValidator>()
             .AddValidator <FirstModel, FirstModelValidator>();
         }
     }
     else
     {
         if (useInstantiated)
         {
             config
             .AddValidatorInstance(typeof(EmailModel), emailModelValidator)
             .AddValidatorInstance(typeof(FirstModel), firstModelValidator);
         }
         else
         {
             config
             .AddValidator(typeof(EmailModel), typeof(EmailModelValidator))
             .AddValidator(typeof(FirstModel), typeof(FirstModelValidator));
         }
     }
 }
예제 #4
0
 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
     DatabaseConfiguration.Configure(app);
     LoggingConfiguration.Configure(app, _configuration, loggerFactory);
     RewriteConfiguration.Configure(app, env);
     SimpleInjectorConfiguration.Configure(app);
     CorsConfiguration.Configure(app, _configuration);
     MvcConfiguration.Configure(app, env);
     SwaggerConfiguration.Configure(app);
     AutoMapperConfiguration.Configure();
     FluentValidationConfiguration.Configure();
     HangfireConfiguration.Configure(app, _configuration);
 }
예제 #5
0
        protected void Application_Start()
        {
            IContainer container = DependencyResolution.IoC.Initialize();

            AutoMapperConfiguration.Configure(container);
            ControllerConfiguration.Configure(container);
            FluentValidationConfiguration.Configure();

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }