using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.IO; using System.Linq; using System.Reflection; using System.Threading.Tasks; using System.Windows; using System.Windows.Shapes; using C4IT.Logging; using Microsoft.Win32; using static C4IT.Logging.cLogManager; namespace F4SD_Cockpit_ConfigLoader { public partial class App : Application { public const string constRegPath = "SOFTWARE\\Consulting4IT GmbH\\First Aid Service Desk\\ConfigLoaderDemo"; public const string constRegValuePath = "ConfigFilesPath"; public static string ConfigFilesFolder = null; private void Application_Startup(object sender, StartupEventArgs e) { // intialize the file based logging cLogManagerFile.CreateInstance(false); DefaultLogger.LogAssemblyInfo(); LoadConfig(); } private void LoadConfig() { MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); } try { // load the last used folder for the config files var _regKey = Registry.CurrentUser.OpenSubKey(constRegPath); if (_regKey != null) { var _strFolder = _regKey.GetValue(constRegValuePath).ToString(); if (Directory.Exists(_strFolder)) ConfigFilesFolder = _strFolder; } } catch (Exception E) { LogException(E); } finally { if (CM != null) LogMethodEnd(CM); } } public static void SaveConfigPath(string _path) { MethodBase CM = null; if (cLogManager.DefaultLogger.IsDebug) { CM = MethodBase.GetCurrentMethod(); LogMethodBegin(CM); } try { var _regKey = Registry.CurrentUser.CreateSubKey(constRegPath, true); if (_regKey != null) _regKey.SetValue(constRegValuePath, _path, RegistryValueKind.String); } catch (Exception E) { LogException(E); } finally { if (CM != null) LogMethodEnd(CM); } } } }