src/ProductivityTools.PSMasterConfiguration.Application/MasterConfiguration.cs
using ProductivityTools.MasterConfiguration;
using ProductivityTools.MasterConfiguration.Models; using ProductivityTools.PSMasterConfiguration.Application.Objects; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProductivityTools.PSMasterConfiguration.Application { public static class MasterConfiguration { private static string ConfigurationFilePath; private static MConfiguration MConfiguration = new MConfiguration(); public static List<PSConfigItem> GetAllConfiguration(string category = null, string application = null, string file = null, string value = null, string key = null) { //ReplaceCurrentConfigurationPath(); var r = MConfiguration.GetValues(application, category , value, key).Select(x => new PSConfigItem(x)).ToList() ; return r; } //Powershell loads all modules to one app domain private static void ReplaceCurrentConfigurationPath() { MConfiguration.SetConfigurationFileName(ConfigurationFilePath); } public static void SetConfigurationFile(string file) { ConfigurationFilePath = file; ReplaceCurrentConfigurationPath(); } public static void SetConfiguration(string key, string value, string application, string file, string category) { ReplaceCurrentConfigurationPath(); MConfiguration.SetValue(key, value, application, file, category); } } } |