BExplorer.Shell.ShellView.LoadSettingsFromDatabase C# (CSharp) Method

LoadSettingsFromDatabase() private method

private LoadSettingsFromDatabase ( IListItemEx directory, FolderSettings &folderSettings ) : Boolean
directory IListItemEx
folderSettings FolderSettings
return Boolean
    private Boolean LoadSettingsFromDatabase(IListItemEx directory, out FolderSettings folderSettings) {
      var result = false;
      var folderSetting = new FolderSettings();
      if (directory.IsSearchFolder) {
        folderSettings = folderSetting;
        return false;
      }

      try {
        var mDBConnection = new SQLite.SQLiteConnection("Data Source=" + this._DBPath + ";Version=3;");
        mDBConnection.Open();

        var command1 = new SQLite.SQLiteCommand("SELECT * FROM foldersettings WHERE Path=@0", mDBConnection);
        command1.Parameters.AddWithValue("0", directory.ParsingName);

        var reader = command1.ExecuteReader();
        if (reader.Read()) {
          var values = reader.GetValues();
          if (values.Count > 0) {
            result = true;
            var view = values.GetValues("View").FirstOrDefault();
            var iconSize = values.GetValues("IconSize").FirstOrDefault();
            var lastSortedColumnIndex = values.GetValues("LastSortedColumn").FirstOrDefault();
            var lastSortOrder = values.GetValues("LastSortOrder").FirstOrDefault();
            var lastGroupedColumnId = values.GetValues("LastGroupCollumn").FirstOrDefault();
            var lastGroupoupOrder = values.GetValues("LastGroupOrder").FirstOrDefault();

            if (view != null)
              folderSetting.View = (ShellViewStyle)Enum.Parse(typeof(ShellViewStyle), view);

            if (lastSortedColumnIndex != null) {
              folderSetting.SortColumn = lastSortedColumnIndex;
              folderSetting.SortOrder = (SortOrder)Enum.Parse(typeof(SortOrder), lastSortOrder);
            }

            folderSetting.GroupCollumn = lastGroupedColumnId;
            folderSetting.GroupOrder = lastGroupoupOrder == SortOrder.Ascending.ToString() ? SortOrder.Ascending : SortOrder.Descending;

            var collumns = values.GetValues("Columns").FirstOrDefault();
            folderSetting.Columns = collumns != null ? XElement.Parse(collumns) : null;

            if (String.IsNullOrEmpty(iconSize))
              folderSetting.IconSize = 48;
            else
              folderSetting.IconSize = Int32.Parse(iconSize);
          }
        }

        reader.Close();
      } catch (Exception) {
      }

      folderSettings = folderSetting;
      return result;
    }
ShellView