public BaseUnit() { var cultureInfo = new CultureInfo("en-GB"); cultureInfo.NumberFormat.CurrencySymbol = "£"; CultureInfo.DefaultThreadCurrentCulture = cultureInfo; CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; SurvivorStaticData.LoadStatics(); MissionsStaticData.LoadStatics(); Api = new EpicApi(); Api.StartVerifier().Wait(); FriendsApi = new EpicFriendListApi(); FriendsApi.StartVerifier().Wait(); Global.DIManager.BuildService(Service => { Service.AddTransient <BotContext>(); Service.AddSingleton <IJsonStringLocalizer, JsonStringLocalizer>(); Service.AddTransient <IUnitOfWork, UnitOfWork>(); Service.AddTransient <IFTNPowerRepository, FTNPowerRepository>(); Service.AddSingleton <IConfiguration>(new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) #if RELEASE .AddJsonFile("appsettings.Production.json", optional: true) #elif DEBUG .AddJsonFile("appsettings.Development.json", optional: true) #endif .AddEnvironmentVariables() .Build()); }); }
public static Task UseFortniteApi(this IServiceProvider serviceProvider) { return(Task.Run(() => { var epicApi = serviceProvider.GetRequiredService <IEpicApi>(); return epicApi.StartVerifier() .ContinueWith((o) => { if (o.IsFaulted) { throw o.Exception; } MissionsStaticData.LoadStatics(); SurvivorStaticData.LoadStatics(); var missionService = serviceProvider.GetService <IMissionService>(); missionService?.StartWebhookTimer(); var catalogService = serviceProvider.GetService <ICatalogService>(); catalogService?.StartCatalogTimer(); }); })); }