79 lines
3 KiB
C#
79 lines
3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Shared.Utils.Variables_Entorno;
|
|
|
|
namespace Shared.Utils
|
|
{
|
|
public static class EnviromentUtils
|
|
{
|
|
public static Dictionary<string,string> GetVarEnviromentDict(string key)
|
|
{
|
|
string variableEnv = Environment.GetEnvironmentVariable(key);
|
|
if (string.IsNullOrEmpty(variableEnv))
|
|
{
|
|
throw new ArgumentException($"La variable de entorno '{key}' no está definida.");
|
|
}
|
|
var dictionary = new Dictionary<string, string>();
|
|
var pares = variableEnv.Split(';');
|
|
|
|
foreach (var data in pares)
|
|
{
|
|
if(data == null || data.Equals("")) { continue; }
|
|
var div = data.IndexOf('=');
|
|
var keyValue = data.Substring(0, div).ToUpper();
|
|
var value = data.Substring(div+1);
|
|
if (!string.IsNullOrEmpty(keyValue) && !string.IsNullOrEmpty(value))
|
|
{
|
|
dictionary.Add(keyValue, value);
|
|
}
|
|
}
|
|
return dictionary;
|
|
}
|
|
|
|
public static Credenciales_DGA GetEnvCredencialesDGA(string env)
|
|
{
|
|
Dictionary<string,string> dictEnv = GetVarEnviromentDict(env);
|
|
return new Credenciales_DGA
|
|
{
|
|
RutEmpresa = dictEnv.ContainsKey("RUTEMPRESA") ? dictEnv["RUTEMPRESA"] : string.Empty,
|
|
RutUsuario = dictEnv.ContainsKey("RUTUSUARIO") ? dictEnv["RUTUSUARIO"] : string.Empty,
|
|
Password = dictEnv.ContainsKey("PASSWORD") ? dictEnv["PASSWORD"] : string.Empty
|
|
};
|
|
}
|
|
|
|
public static BD_Conexion GetEnvBDConexion(string env)
|
|
{
|
|
|
|
return new BD_Conexion
|
|
{
|
|
stringConnection = Environment.GetEnvironmentVariable(env) ?? string.Empty
|
|
};
|
|
}
|
|
|
|
public static NexusApiUrl GetEnvNexusApiUrl(string env)
|
|
{
|
|
Dictionary<string, string> dictEnv = GetVarEnviromentDict(env);
|
|
return new NexusApiUrl
|
|
{
|
|
ApiUrl = dictEnv.ContainsKey("URL") ? dictEnv["URL"] : string.Empty,
|
|
ApiKey = dictEnv.ContainsKey("APIKEY") ? dictEnv["APIKEY"] : string.Empty,
|
|
Version = dictEnv.ContainsKey("VERSION") ? dictEnv["VERSION"] : string.Empty,
|
|
DataSource = dictEnv.ContainsKey("DATASOURCE") ? dictEnv["DATASOURCE"] : string.Empty,
|
|
Resolution = dictEnv.ContainsKey("RESOLUTION") ? dictEnv["RESOLUTION"] : string.Empty
|
|
};
|
|
}
|
|
|
|
public static SubterraneaApiUrl GetEnvSubterraneaApiUrl(string env)
|
|
{
|
|
Dictionary<string, string> dictEnv = GetVarEnviromentDict(env);
|
|
return new SubterraneaApiUrl
|
|
{
|
|
BaseUrl = dictEnv.ContainsKey("URL") ? dictEnv["URL"] : string.Empty,
|
|
EndPoint = dictEnv.ContainsKey("ENDPOINT") ? dictEnv["ENDPOINT"] : string.Empty
|
|
};
|
|
}
|
|
}
|
|
}
|