public ViewModelLocator() { var appConfig = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); Log.Logger = new LoggerConfiguration() .ReadFrom.Configuration(appConfig).CreateLogger(); var blizzApiSettings = new BlizzApiSettingsModel(); appConfig.GetSection("BlizzApiSettings").Bind(blizzApiSettings); var container = new ContainerBuilder(); container.RegisterInstance(new SettingsService(blizzApiSettings)).As <ISettingsService>(); container.RegisterInstance(new MainViewModel()); container.RegisterType <ProffesionViewModel>(); container.RegisterType <ProffesionSkillTierViewModel>(); container.RegisterType <ProffesionRecipesViewModel>(); container.RegisterType <TokenService>().As <ITokenService>(); container.RegisterType <BlizzApiService>().As <IBlizzApiService>(); container.RegisterType <AuctionService>().As <IAuctionService>().SingleInstance(); var mapConfig = new MapperConfiguration(cfg => { cfg.AddProfile <MappingProfile>(); }); container.RegisterInstance(mapConfig.CreateMapper()).As <IMapper>(); SetupNavigation(container); var builder = container.Build(); var locator = new AutofacServiceLocator(builder); ServiceLocator.SetLocatorProvider(() => locator); }
public SettingsService(BlizzApiSettingsModel blizzApiSettings) { BlizzApiSettings = blizzApiSettings; }