/// <summary> /// Method example of application directories settings adding. /// </summary> public static void AddStorageDirectories() { Trace.WriteLine(string.Format("# {0}.{1} ------------------------------------------------", MethodBase.GetCurrentMethod().ReflectedType.Name, MethodBase.GetCurrentMethod().Name)); // Example of directory placed in the application \Config directory // {application}\Config\Server ApplicationBase.Storage.Directories.Add ( new Directory { Key = "Config.Server", RelativePath = "Server", IsRelative = true, Root = SpecialDirectoriesExtensions.RootDirectory(SpecialDirectoriesName.Config) } ); // Retrieving previews directory settings. string absoluteServerFolderName = ApplicationBase.Storage.Directories.FindKeyFirst("Config.Server")?.AbsolutePath; Trace.WriteLine("Config.Server = " + absoluteServerFolderName); // Example of directory placed in the application \Data directory // {application}\Data\Database ApplicationBase.Storage.Directories.Add ( new Directory { Key = "Config.Database", RelativePath = "Database", IsRelative = true, Root = SpecialDirectoriesExtensions.RootDirectory(SpecialDirectoriesName.Data) } ); // Retrieving previews directory settings. string absoluteDatabaseFolderName = ApplicationBase.Storage.Directories.FindKeyFirst("Config.Database")?.AbsolutePath; Trace.WriteLine("Config.Database = " + absoluteDatabaseFolderName); Trace.WriteLine("-------------------------------------------------------------------------------------------------------"); }
/// <summary> /// Method to initialize storage preferences. /// </summary> public static void InitializeStorage() { // Variable to store directories informations. Directory temp; #region application data // Create path to data server directory. temp = new Directory { Key = "data.server", RelativePath = "Data\\Server", IsRelative = true, Root = Environment.CurrentDirectory }; ApplicationBase.Storage.Directories.AddKeySingle(temp); temp.Create(); Trace.TraceInformation($"data.server => {ApplicationBase.Storage.Directories.FindKeyFirst("data.server").AbsolutePath}"); #endregion #region application roaming // Create path to configuration server public html directory temp = new Directory { Key = "roaming.public_html", RelativePath = "Public_html", IsRelative = true, Root = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) }; ApplicationBase.Storage.Directories.AddKeySingle(temp); temp.Create(); Trace.TraceInformation($"roaming.public_html => {ApplicationBase.Storage.Directories.FindKeyFirst("roaming.public_html").AbsolutePath}"); // Create path to configuration server public html directory temp = new Directory { Key = "roaming.plugins", RelativePath = "Plugins", IsRelative = true, Root = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) }; ApplicationBase.Storage.Directories.AddKeySingle(temp); temp.Create(); Trace.TraceInformation($"roaming.plugins => {ApplicationBase.Storage.Directories.FindKeyFirst("roaming.plugins").AbsolutePath}"); #endregion #region user documents // Create path to cache filestypes directory. temp = new Directory { Key = "cache.filestypes", RelativePath = "Files Types", IsRelative = true, Root = SpecialDirectoriesExtensions.RootDirectory(SpecialDirectoriesName.Cache) }; ApplicationBase.Storage.Directories.AddKeySingle(temp); temp.Create(); Trace.TraceInformation($"cache.filestypes => {ApplicationBase.Storage.Directories.FindKeyFirst("cache.filestypes").AbsolutePath}"); #endregion }