public ImportStatus ImportToNewCollection(string importFilePath, string newCollectionName) { IMagicDatabaseReadAndWriteCollection magicDatabaseCollection = MagicDatabaseManager.ReadAndWriteCollection; ICardCollection collection = magicDatabaseCollection.InsertNewCollection(newCollectionName); if (collection == null) { throw new ArgumentException("Collection name already exists", nameof(newCollectionName)); } return(ImportToCollection(importFilePath, collection)); }
//TODO: Test add/remove splitted card and statistics public MainViewModel(IDispatcherInvoker dispatcherInvoker) { AddLinkedProperty(nameof(Hierarchical), nameof(Title)); HideResultCommand = new RelayCommand(o => UpgradeStatus = UpgradeStatus.NotChecked); _dispatcherInvoker = dispatcherInvoker; _allhierarchical = new HierarchicalViewModel(MagicCards, AllCardAsViewModel); _magicDatabase = MagicDatabaseManager.ReadOnly; _magicDatabaseForOption = MagicDatabaseManager.ReadAndWriteOption; _magicDatabaseForCollection = MagicDatabaseManager.ReadAndWriteCollection; _magicDatabaseForCardInCollection = MagicDatabaseManager.ReadAndWriteCardInCollection; Options = new OptionsViewModel(_magicDatabaseForOption); _programUpdater = new ProgramUpgrader(); UpgradeStatus = _programUpdater.Status; if (Options.AutoCheckUpgrade) { ThreadPool.QueueUserWorkItem(DoCheckNewVersion); } Analysers = new HierarchicalInfoAnalysersViewModel(); _menuRoot = new MenuViewModel(); _contextMenuRoot = new MenuViewModel(); CreateMenu(); //Reload last chosen option IOption option = _magicDatabase.GetOption(TypeOfOption.SelectedCollection, "Name"); if (option != null) { LoadCollection(option.Value); } else { LoadCollection(); } }