Operations pipeline start

This commit is contained in:
Mikhail Shabanov committed 2020-07-19 13:04:31 +02:00
1 parent 6c10c6c654
commit 7ffbeb6b17
19 files changed
+432 -5

No files matched your search

@@ -4,7 +4,9 @@ using AutoMapper;
using Microsoft.Extensions.DependencyInjection;
using WotBlitzStatisticsPro.Common.Model;
using WotBlitzStatisticsPro.DataAccess;
using WotBlitzStatisticsPro.Logic.AccountInformationPipeline.Operations;
using WotBlitzStatisticsPro.Logic.Dictionaries;
using WotBlitzStatisticsPro.Logic.Pipeline;
using WotBlitzStatisticsPro.WgApiClient;
[assembly: InternalsVisibleTo("WotBlitzStatisticsPro.Tests")]
@@ -17,12 +19,14 @@ namespace WotBlitzStatisticsPro.Logic
public static void ConfigureServices(IServiceCollection services)
{
ConfigureDictionariesFactory(services);
ConfigureOperationsFactory(services);
WotBlitzStatisticsDataAccessInstaller.ConfigureServices(services);
services.AddAutoMapper(typeof(WotBlitzStatisticsLogicInstaller));
services.AddHttpClient<IWargamingApiClient, WargamingApiClient>();
services.AddHttpClient<IWargamingDictionariesApiClient, WargamingApiClient>();
services.AddTransient<IWargamingSearch, WargamingSearch>();
services.AddTransient<IWargamingDictionaries, WargamingDictionaries>();
services.AddTransient<IWargamingAccounts, WargamingAccounts>();
}
private static void ConfigureDictionariesFactory(IServiceCollection services)
@@ -31,10 +35,10 @@ namespace WotBlitzStatisticsPro.Logic
services.AddTransient<AchievementsDictionaryUpdater>();
services.AddTransient<VehiclesDictionaryUpdater>();
RegisterFactoryMethod(services);
RegisterDictionariesFactoryMethod(services);
}
internal static void RegisterFactoryMethod(IServiceCollection services)
internal static void RegisterDictionariesFactoryMethod(IServiceCollection services)
{
services.AddTransient<DictionariesUpdaterResolver>(serviceProvider => dictionaryType =>
{
@@ -51,5 +55,14 @@ namespace WotBlitzStatisticsPro.Logic
}
});
}
private static void ConfigureOperationsFactory(IServiceCollection services)
{
services.AddTransient<GetAccountInfoOperation>();
services.AddTransient<GetTanksInfoOperation>();
services.AddTransient<IOperationFactory>(serviceProvider =>
new ServiceProviderOperationFactory(serviceProvider));
}
}
}