public static void Configure()
        {
            var builder = new ContainerBuilder();

            builder.RegisterApiControllers(typeof(MvcApplication).Assembly).PropertiesAutowired().InstancePerHttpRequest();
            builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired().InstancePerHttpRequest();

            builder.RegisterType<Logger>().As<ILogger>();
            builder.RegisterType<SimpleDataModificator>();
            builder.RegisterType<XmlDataModificator>();
            builder.RegisterType<Config>();

            var config = new Config(new Logger());

            switch (config.GetDataSource())
            {
                case DataSourse.DataBase:
                    builder.RegisterType<SimpleDataRepresentator>().As<IDataRepresentator>();
                    break;

                case DataSourse.Xml:
                    builder.RegisterType<XmlDataRepresentator>().As<IDataRepresentator>();
                    break;

                default:
                    throw new NotImplementedException();
            }

            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
        }
Esempio n. 2
0
 public FileSystem(ILogger log, Config config)
 {
     this.log = log;
     this.config = config;
 }
Esempio n. 3
0
 public void Init()
 {
     log = new Mock<Logger>();
     sut = new Config(log.Object);
 }