protected override void ConfigureContainer() { // Register global settings var globalSettings = new GlobalSettings { DefaultGamesSettingsFolder = $@"{Directory.GetCurrentDirectory()}\GameSettings\", DefaultInstallFolderConfigFile = $@"{Directory.GetCurrentDirectory()}\DefaultInstallFolders.json", CustomInstallFolderConfigFile = $@"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\VGIS\CustomInstallFolders.json", CustomGamesSettingsFolder = $@"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\VGIS\GameSettings\" }; Container.RegisterInstance(globalSettings, new ContainerControlledLifetimeManager()); var crowdsourcingSettings = new ApiEndpointSettings { EndpointUrl = "https://vgisapi.nicolas-constant.com" }; Container.RegisterInstance(crowdsourcingSettings, new ContainerControlledLifetimeManager()); // Register repositories Container.RegisterTypes( AllClasses.FromLoadedAssemblies().Where(x => x.Name.EndsWith("Repository")), WithMappings.FromMatchingInterface, WithName.Default, WithLifetime.ContainerControlled); // Register services Container.RegisterTypes( AllClasses.FromLoadedAssemblies().Where(x => x.Name.EndsWith("Service")), WithMappings.FromMatchingInterface, WithName.Default, WithLifetime.ContainerControlled); // Register all other types Container.RegisterTypes( AllClasses.FromLoadedAssemblies(), WithMappings.FromMatchingInterface, WithName.Default); base.ConfigureContainer(); }
public CrowdsourcingApiDal(ApiEndpointSettings apiUrlData) { _apiEndpoint = $"{apiUrlData.EndpointUrl}/api/settings"; }