using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Threading.Tasks; namespace MEU.API.Config { public class ConfigEnvironment { /// <summary> /// development/production /// </summary> /// <param name="environmentName"></param> public static void load(string environmentName) { //On prodction we will use all config from environment if (environmentName.ToLower().Trim().Equals("production")) { return; } var envPath = Path.Combine(System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Config/.env." + environmentName + ".json"); if (!File.Exists(envPath)) { return; } using (StreamReader file = File.OpenText(envPath)) using (JsonTextReader reader = new JsonTextReader(file)) { JObject o2 = (JObject)JToken.ReadFrom(reader); foreach (var property in o2.Properties()) { Environment.SetEnvironmentVariable(property.Name, property.Value.ToString()); } } } public static string STORAGE_ROOT = Environment.GetEnvironmentVariable("STORAGE_ROOT"); public static string STORAGE_RELATIVE_DRAFT_PATH = "/drafts"; //files_draftPath //STORAGE_RELATIVE_DRAFT_PATH public static string STORAGE_RELATIVE_USERS = "/users"; //files_userPath //STORAGE_RELATIVE_USERS public static string STORAGE_RALATIVE_AVATAR = "/avatars"; //files_avatarPath //STORAGE_RALATIVE_AVATAR public static string STORAGE_RELATIVE_ATTACHMENT = "/general_attchments"; //files_generalAttachment //STORAGE_RELATIVE_ATTACHMENT public static string STORAGE_PUBLIC = "/public"; //files_publicPath //STORAGE_PUBLIC public static string STORAGE_RALATIVE_COMPANYINFO = "/company_info"; public static string STORAGE_RELATIVE_CV = "/cvs"; public static string STORAGE_RELATIVE_CONTRACT = "/contracts"; //files_publicPath //file_contractPath public static string STORAGE_RELATIVE_SUBFORM_TEMPLATE = "/subforms"; //files_publicPath //file_subformTemplatePath public static string STORAGE_RELATIVE_COMMENT_ATTACHMENT = "/comment_attachments"; //files_publicPath //file_commentAttachment public static string STORAGE_RELATIVE_WORKFLOW_ATTACHMENT = "/workflow_attachments"; //files_publicPath //file_workflowAttachment public static string STORAGE_RELATIVE_SIGNATURE_ATTACHMENT = "/signature_attachments"; //files_publicPath //file_signaturePath public static string STORAGE_RELATIVE_SALARY_EXCEL_FILE = "/salary_excel_files"; //files_publicPath //salary_excel_file public static string STORAGE_RELATIVE_HR_APPLICATION_TEMPLATE = "/hr_application_templates"; //files_publicPath //hr_application_templates public static string MAILSERVER_SMTPHOST = Environment.GetEnvironmentVariable("MAILSERVER_SMTPHOST");// Environment.GetEnvironmentVariable("MAILSERVER_SMTPHOST"); //mailServer_smtpHost //MAILSERVER_SMTPHOST public static string MAILSERVER_SMTPPORT = Environment.GetEnvironmentVariable("MAILSERVER_SMTPPORT");// Environment.GetEnvironmentVariable("MAILSERVER_SMTPPORT"); //mailServer_smtpPort //MAILSERVER_SMTPPORT public static string MAILSERVER_USERNAME = Environment.GetEnvironmentVariable("MAILSERVER_USERNAME");// Environment.GetEnvironmentVariable("MAILSERVER_USERNAME"); //mailAdminAccount_Username //MAILSERVER_USERNAME public static string MAILSERVER_PASSWORD = Environment.GetEnvironmentVariable("MAILSERVER_PASSWORD");// Environment.GetEnvironmentVariable("MAILSERVER_PASSWORD"); //mailAdminAccount_Passwordword //MAILSERVER_PASSWORD public static string FRONTEND_HOST = Environment.GetEnvironmentVariable("FRONTEND_HOST"); //frontend_host //FRONTEND_HOST public static string TOKEN_ENCRYPTED_KEY = "sah@kk#nn#v4,^121.,!@{}psassaasa";// Environment.GetEnvironmentVariable("TOKEN_ENCRYPTED_KEY");// encryptKeys_tokenKey; public static string DATA_ENCRYPTED_KEY = "B546C8DF278CD5931069B522E695D4FA";// Environment.GetEnvironmentVariable("DATA_ENCRYPTED_KEY");// encryptKeys_dataKey; public static int DEFAULT_PAGE_SIZE = 10;// Int32.Parse(Environment.GetEnvironmentVariable("DEFAULT_PAGE_SIZE")); //DB Connection public static string PSQL_HOST = Environment.GetEnvironmentVariable("PSQL_HOST"); public static string PSQL_PORT = Environment.GetEnvironmentVariable("PSQL_PORT"); public static string PSQL_PASSWORD = Environment.GetEnvironmentVariable("PSQL_PASSWORD"); public static string PSQL_USER = Environment.GetEnvironmentVariable("PSQL_USER"); public static string PSQL_DBNAME = Environment.GetEnvironmentVariable("PSQL_DBNAME"); public static string ENVIRONMENT = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); public static string CONECTION_STRING = "Persist Security Info=True;Password=" + ConfigEnvironment.PSQL_PASSWORD + ";Username=" + ConfigEnvironment.PSQL_USER + ";Database=" + ConfigEnvironment.PSQL_DBNAME + ";Host=" + ConfigEnvironment.PSQL_HOST + ";Port=" + ConfigEnvironment.PSQL_PORT; } }