Files
Core.Inventory.Service/Core.Inventory.External/GatewayConfigurations/GatewaySettingsConfigurations.cs

53 lines
1.7 KiB
C#

using Core.Blueprint.External;
using Microsoft.Extensions.Configuration;
namespace Core.Inventory.External.GatewayConfigurations
{
public class GatewaySettingsConfigurations
{
private static GatewayConfiguration GatewayConfigurations { get; set; } = new GatewayConfiguration();
private readonly IConfiguration _configuration;
public GatewaySettingsConfigurations(IConfiguration configuration)
{
_configuration = configuration;
this.SetInventoryServiceAPIEndpoint();
}
public static InventoryServiceAPI GetInventoryServiceAPIEndpoint()
{
return GatewayConfigurations.InventoryService;
}
private GatewayConfiguration SetInventoryServiceAPIEndpoint()
{
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["InventoryDAL"] ?? string.Empty;
if (string.IsNullOrEmpty(endpoint))
throw new Exception("Inventory DAL endpoint is empty or null");
GatewayConfigurations.InventoryService = new InventoryServiceAPI()
{
Endpoint = new BaseEndpoint()
{
Uri = new Uri(endpoint),
Url = endpoint,
Token = string.Empty,
APIName = "Inventory Service"
}
};
return GatewayConfigurations;
}
}
}