49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			49 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;
 | |
|             SetDashboardServiceAPIEndpoint();
 | |
|         }
 | |
|         public static InventoryServiceAPI GetInventoryServiceAPIEndpoint()
 | |
|         {
 | |
|             return GatewayConfigurations.InventoryService;
 | |
|         }
 | |
|         private GatewayConfiguration SetDashboardServiceAPIEndpoint()
 | |
|         {
 | |
|             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["InventoryService"] ?? string.Empty;
 | |
| 
 | |
|             if (string.IsNullOrEmpty(endpoint)) throw new Exception("Inventory Service 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;
 | |
|         }
 | |
|     }
 | |
| }
 |