/// <summary> /// Updates the database information. /// </summary> /// <param name="oldPath">The old path.</param> /// <param name="newPath">The new path.</param> public static void UpdateDatabase(string oldPath, string newPath) { var mapper = new SchemaToViewModelMapper(); var database = mainTree.SingleOrDefault(x => x.DatabasePath.Equals(oldPath)); mainTree.Remove(database); mainTree.Add(mapper.MapSchemaToViewModel(newPath)); }
private void AddDatabaseToTree(string databasePath) { if (TreeViewItems.Any(x => x.DatabasePath.Equals(databasePath))) { return; } var schemaMapper = new SchemaToViewModelMapper(); var databaseItem = schemaMapper.MapSchemaToViewModel(databasePath); TreeViewItems.Add(databaseItem); log.Info("Opened database '" + databaseItem.DatabasePath + "'."); }
public void RefreshTree() { log.Info("Refreshing the database tree."); var databasePaths = TreeViewItems.Select(x => x.DatabasePath).ToList(); TreeViewItems.Clear(); var schemaMapper = new SchemaToViewModelMapper(); foreach (var path in databasePaths) { TreeViewItems.Add(schemaMapper.MapSchemaToViewModel(path)); } }
public ObservableCollection <TreeItem> Load() { var targetPath = GetSaveLocationPath(); if (!File.Exists(targetPath)) { return(new ObservableCollection <TreeItem>()); } var xmlSerializer = new XmlSerializer(typeof(List <string>)); var resultCollection = new ObservableCollection <TreeItem>(); using (var streamReader = new StreamReader(targetPath)) { try { logger.Info("Restoring recently used databases..."); var databasePaths = xmlSerializer.Deserialize(streamReader) as List <string>; var schemaMapper = new SchemaToViewModelMapper(); foreach (var path in databasePaths) { if (File.Exists(path)) { var rootItem = schemaMapper.MapSchemaToViewModel(path); resultCollection.Add(rootItem); } else { logger.Info("Could not restore database file at " + path + "\nThe file might have been moved or deleted outside of SQLK."); } } } catch (Exception ex) { logger.Error("Could not load database tree.", ex); } } return(resultCollection); }