Beispiel #1
0
        private IDependencyResolver buildDependencyResolver(AppSettingsProvider appSettings)
        {
            var builder = new ContainerBuilder();

            // Register all MVC controllers.
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            // OPTIONAL: Register model binders that require DI.
            //builder.RegisterModelBinders(Assembly.GetExecutingAssembly());
            //builder.RegisterModelBinderProvider();

            // OPTIONAL: Register web abstractions like HttpContextBase.
            builder.RegisterModule <AutofacWebTypesModule>();

            // OPTIONAL: Enable property injection in view pages.
            //builder.RegisterSource(new ViewRegistrationSource());

            // OPTIONAL: Enable property injection into action filters.
            //builder.RegisterFilterProvider();


            builder.RegisterType <MausrDb>()
            //.As<Idb>()
            .InstancePerRequest();

            builder.Register(x => appSettings)
            .As <AppSettingsProvider>()
            .SingleInstance();

            var tsm = new TrainStorageManager(appSettings);

            builder.Register(x => tsm)
            .As <TrainStorageManager>()
            .SingleInstance();

            var evaluator = new CurrentEvaluator(tsm);

            builder.Register(x => evaluator)
            .As <CurrentEvaluator>()
            .SingleInstance();

            var captcha = new ReCaptcha(PrivateData.ReCaptchaPublic, PrivateData.ReCaptchaPrivate);

            builder.Register(x => captcha)
            .As <ICaptcha>()
            .SingleInstance();

            var container = builder.Build();

            return(new AutofacDependencyResolver(container));
        }
Beispiel #2
0
 public TeachController(MausrDb db, CurrentEvaluator evaluator)
 {
     this.db        = db;
     this.evaluator = evaluator;
 }
Beispiel #3
0
 public TrainController(MausrDb db, TrainStorageManager trainStorageManager, CurrentEvaluator evaluator)
 {
     this.db = db;
     this.trainStorageManager = trainStorageManager;
     this.evaluator           = evaluator;
 }
Beispiel #4
0
 public HomeController(MausrDb db, CurrentEvaluator evaluator, ICaptcha captcha)
 {
     this.db        = db;
     this.evaluator = evaluator;
     this.captcha   = captcha;
 }