Beispiel #1
0
        public async void SaveFileAsync(UserSettings settingsToSave, string filename)
        {
            await semaphore.WaitAsync();

            try
            {
                UserSettingsFile file = new UserSettingsFile(errorLogger);
                file.Initialise(settingsToSave);
                string contents = file.ToXML();
                if (contents != null)
                {
                    if (!filename.EndsWith(".xml"))
                    {
                        filename += ".xml";
                    }
                    File.WriteAllText(Path.Combine(saveDirectory, filename), contents);
                }
            }
            catch (Exception ex)
            {
                errorLogger.LogException(ex, ErrorSeverity.Error);
            }

            semaphore.Release();
        }
Beispiel #2
0
        /// <summary>
        /// Loads command XML files present in the saveDirectory into <see cref="CommandFile"/>s
        /// </summary>
        /// <returns></returns>
        public List <UserSettingsFile> LoadFiles()
        {
            List <UserSettingsFile> result = new List <UserSettingsFile>();

            foreach (var path in Directory.EnumerateFiles(saveDirectory))
            {
                string           contents = File.ReadAllText(path);
                UserSettingsFile file     = new UserSettingsFile(errorLogger);
                bool             loaded   = file.FromXML(contents);
                if (loaded)
                {
                    result.Add(file);
                }
            }

            return(result);
        }