using System.Configuration; using Kreta.Client.CoreApi; using Kreta.Client.CoreApi.Configuration; using Kreta.Client.FileService; using Kreta.Client.FileService.Configuration; using Kreta.Client.Jira; using Kreta.Client.Jira.Interface; using Kreta.Client.KGR; using Kreta.Client.KozpontiKreta; using Kreta.Client.KozpontiKreta.Interface; using Kreta.Client.Leltar; using Kreta.Client.SzirApi; using Kreta.Core; using Kreta.Core.Configuratiaton; using Kreta.Core.Configuratiaton.Interface; using SimpleInjector; namespace Kreta.Client { public static class DependencyInjection { public static void InjectClient(this Container container) { container.Register(() => (UgyfelszolgalatConfig)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.UgyfelszolgalatConfig), Lifestyle.Singleton); container.Register(() => (KozpontiKretaConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.KozpontiKretaConfig), Lifestyle.Singleton); container.Register(() => (FileServiceClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.FileServiceClientConfiguration), Lifestyle.Singleton); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); } public static void InjectMobileClient(this Container container) { container.Register(() => (FileServiceClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.FileServiceClientConfiguration), Lifestyle.Singleton); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(() => (LepConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.LEPKozpontiKretaConfig), Lifestyle.Singleton); } public static void InjectNaploMobileClient(this Container container) { container.Register(() => (CoreApiClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.CoreApiClientConfiguration), Lifestyle.Singleton); container.Register(() => (FileServiceClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.FileServiceClientConfiguration), Lifestyle.Singleton); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); container.Register(Lifestyle.Scoped); } } }