Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        //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();
            }
        }