kreta/Kreta.Client/DependencyInjection.cs
2024-03-13 00:33:46 +01:00

57 lines
3.4 KiB
C#

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<IUgyfelszolgalatConfig>(() => (UgyfelszolgalatConfig)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.UgyfelszolgalatConfig), Lifestyle.Singleton);
container.Register<IKozpontiKretaConfiguration>(() => (KozpontiKretaConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.KozpontiKretaConfig), Lifestyle.Singleton);
container.Register<IFileServiceClientConfiguration>(() => (FileServiceClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.FileServiceClientConfiguration), Lifestyle.Singleton);
container.Register<IJiraClient, JiraClient>(Lifestyle.Scoped);
container.Register<IKozpontiKretaClient, KozpontiKretaClient>(Lifestyle.Scoped);
container.Register<IFileServiceClient, FileServiceClient>(Lifestyle.Scoped);
container.Register<IFileServiceClientV3, FileServiceClientV3>(Lifestyle.Scoped);
container.Register<ICoreApiClient, CoreApiClient>(Lifestyle.Scoped);
container.Register<IKGRClient, KGRClient>(Lifestyle.Scoped);
container.Register<ILeltarClient, LeltarClient>(Lifestyle.Scoped);
container.Register<ISzirApiClient, SzirApiClient>(Lifestyle.Scoped);
}
public static void InjectMobileClient(this Container container)
{
container.Register<IFileServiceClientConfiguration>(() => (FileServiceClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.FileServiceClientConfiguration), Lifestyle.Singleton);
container.Register<IFileServiceClient, FileServiceClient>(Lifestyle.Scoped);
container.Register<IFileServiceClientV3, FileServiceClientV3>(Lifestyle.Scoped);
container.Register<ILepConfiguration>(()
=> (LepConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.LEPKozpontiKretaConfig), Lifestyle.Singleton);
}
public static void InjectNaploMobileClient(this Container container)
{
container.Register<ICoreApiClientConfiguration>(() => (CoreApiClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.CoreApiClientConfiguration), Lifestyle.Singleton);
container.Register<IFileServiceClientConfiguration>(() => (FileServiceClientConfiguration)ConfigurationManager.GetSection(Constants.ConfigurationSectionNames.FileServiceClientConfiguration), Lifestyle.Singleton);
container.Register<IFileServiceClient, FileServiceClient>(Lifestyle.Scoped);
container.Register<IFileServiceClientV3, FileServiceClientV3>(Lifestyle.Scoped);
container.Register<ICoreApiClient, CoreApiClient>(Lifestyle.Scoped);
}
}
}