/// <summary>
        /// Persists the provided <see cref="UserSettings"/> object to disk.
        /// </summary>
        /// <param name="settings"></param>
        public void Save(UserSettings settings)
        {
            string filename = string.Format(@"{0}\{1}.xml", SpruceSettings.UserSettingsDirectory, settings.UserId);

            try
            {
                using (FileStream stream = new FileStream(filename, FileMode.Create, FileAccess.Write))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(UserSettings));
                    serializer.Serialize(stream, settings);
                }
            }
            catch (IOException e)
            {
                Log.Warn(e, "An IO error occurred saving the UserSettings file for user {0} id {1}", settings.Name, settings.UserId);
            }
            catch (FormatException e)
            {
                Log.Warn(e, "A FormatException error occurred saving the UserSettings file for user {0} id {1}", settings.Name, settings.UserId);
            }
            catch (Exception e)
            {
                Log.Warn(e, "An unhandled exception error occurred saving the UserSettings file for user {0} id {1}", settings.Name, settings.UserId);
            }
        }
 /// <summary>
 /// Persists the provided <see cref="UserSettings"/> object to the RavenDB store.
 /// </summary>
 /// <param name="settings"></param>
 public void Save(UserSettings settings)
 {
     using (IDocumentSession session = _documentStore.OpenSession())
     {
         session.Store(settings);
         session.SaveChanges();
     }
 }
        /// <summary>
        /// Loads a <see cref="UserSettings"/> object for the user id provided from the RavenDB store.
        /// </summary>
        public UserSettings Load(Guid userId)
        {
            using (IDocumentSession session = _documentStore.OpenSession())
            {
                UserSettings settings = session.Load<UserSettings>(userId.ToString());

                if (settings == null)
                    settings = new UserSettings(userId);

                return settings;
            }
        }