using Core.Blueprint.External; using Microsoft.Extensions.Configuration; namespace Core.Blueprint.Service.External.GatewayConfigurations { public class GatewaySettingsConfiguration { private readonly IConfiguration _configuration; public GatewaySettingsConfiguration(IConfiguration configuration) { _configuration = configuration; this.SetBlueprintServiceApiEndpoint(); } private static GatewayConfiguration GatewayConfiguration { get; set; } = new GatewayConfiguration(); public static BlueprintServiceApi GetBlueprintApiEndpoint => GatewayConfiguration.BlueprintServiceAPI; private GatewayConfiguration SetBlueprintServiceApiEndpoint() { IConfigurationSection source; var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty; if (environment == "Local") source = _configuration.GetSection("LocalGateways"); else source = _configuration.GetSection("Gateways"); var endpoint = source["BlueprintDAL"]; GatewayConfiguration.BlueprintServiceAPI = new BlueprintServiceApi { Endpoint = new BaseEndpoint() { Uri = new Uri(endpoint), Url = endpoint, Token = string.Empty, APIName = "Blueprint API" } }; return GatewayConfiguration; } } }