public PreconstructedDecksViewModel() { _magicDatabase = MagicDatabaseManager.ReadOnly; Decks = LoadReferentialData(); Collections = new List <ICardCollection>(_magicDatabase.GetAllCollections()).AsReadOnly(); Languages = new List <ILanguage>(_magicDatabase.GetAllLanguages()).AsReadOnly(); }
protected UpdateViewModelCommun(string collectionName) { MagicDatabase = MagicDatabaseManager.ReadOnly; SourceCollection = MagicDatabase.GetAllCollections().First(cc => cc.Name == collectionName); Display.OkCommandLabel = "Update"; Display.CancelCommandLabel = "Close"; }
public StatisticViewModel(ICardInCollectionCount cardInCollectionCount) { IMagicDatabaseReadOnly magicDatabase = MagicDatabaseManager.ReadOnly; FoilAltArtNumber = cardInCollectionCount.FoilAltArtNumber; AltArtNumber = cardInCollectionCount.AltArtNumber; FoilNumber = cardInCollectionCount.FoilNumber; Number = cardInCollectionCount.Number; Collection = magicDatabase.GetCollection(cardInCollectionCount.IdCollection).Name; Edition = magicDatabase.GetEdition(cardInCollectionCount.IdGatherer).Name; Language = magicDatabase.GetLanguage(cardInCollectionCount.IdLanguage).Name; }
public AuditViewModel() { _magicDatabase = MagicDatabaseManager.ReadOnly; _allAudit = _magicDatabase.GetAllAudits().ToArray(); Display.Title = "Audit"; Display.OkCommandLabel = "Load"; Display.CancelCommandLabel = "Close"; MinDate = DateTime.UtcNow.Date.AddDays(-1); MaxDate = DateTime.UtcNow.Date; AuditInfos = new RangeObservableCollection <AuditInfo>(); }
public ImportExportViewModel(IDispatcherInvoker dispatcherInvoker) { _dispatcherInvoker = dispatcherInvoker; ExportFormats = (ExportFormat[])Enum.GetValues(typeof(ExportFormat)); ExportFormatSelected = ExportFormat.MPSD; IMagicDatabaseReadOnly magicDatabase = MagicDatabaseManager.ReadOnly; ExportCollections = magicDatabase.GetAllCollections().Select(cc => new ExportedCollectionViewModel(cc.Name)).ToList(); ImportCollections = magicDatabase.GetAllCollections().Select(cc => cc.Name).ToList(); HasCollection = ExportCollections.Count > 0; SelectedIndex = HasCollection ? 0 : 1; Path = "."; OpenCommand = new RelayCommand(OpenCommandExecute); }
public void Export(string[] collectionNames, string outpath, ExportFormat exportFormatSelected) { if (!Directory.Exists(outpath)) { throw new ArgumentException("output path doesn't exist", nameof(outpath)); } IImportExportFormatter formatter = ImportExportFormatterFactory.Create(exportFormatSelected); if (formatter == null) { throw new ArgumentException("Can't find appropriate formatter for " + exportFormatSelected, nameof(exportFormatSelected)); } IMagicDatabaseReadOnly magicDatabase = MagicDatabaseManager.ReadOnly; foreach (string collectionName in collectionNames) { ICardCollection cardcollection = magicDatabase.GetCollection(collectionName); IEnumerable <ICardInCollectionCount> cardsInCollection = magicDatabase.GetCardCollection(cardcollection); if (cardsInCollection == null) { throw new ImportExportException("Can't find collection named {0}", collectionName); } string filePath = Path.Combine(outpath, collectionName + formatter.Extension); try { using (StreamWriter sw = new StreamWriter(filePath, false)) { sw.Write(formatter.ToFile(cardsInCollection)); } } catch (ImportExportException) { if (File.Exists(filePath)) { File.Delete(filePath); } throw; } } }
public CardSourceViewModel(IMagicDatabaseReadOnly magicDatabase, ICardCollection sourceCardCollection, ICard card) { _magicDatabase = magicDatabase; Card = card; _cardInCollectionCounts = _magicDatabase.GetCollectionStatisticsForCard(sourceCardCollection, Card) .ToArray(); _editions = _cardInCollectionCounts.Select(cicc => _magicDatabase.GetEdition(cicc.IdGatherer)) .Distinct() .Ordered() .ToArray(); if (_editions.Length > 0) { EditionSelected = _editions[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(); } }
public SearchViewModel() { _magicDatabase = MagicDatabaseManager.ReadOnly; //Never change CountComparator = new[] { "≥", "<" }; Colors = (ShardColor[])Enum.GetValues(typeof(ShardColor)); Types = ((CardType[])Enum.GetValues(typeof(CardType))).Where(t => t != CardType.Token) .ToArray(); SubTypes = ((CardSubType[])Enum.GetValues(typeof(CardSubType))).Where(t => t != CardSubType.None) .ToArray(); Display.Title = "Search"; Display.OkCommandLabel = "Search"; Display.CancelCommandLabel = "Close"; Display.OtherCommandLabel = "Reinit"; EditionsSelected = new ObservableCollection <IEdition>(); CollectionsSelected = new ObservableCollection <ICardCollection>(); ColorsSelected = new ObservableCollection <ShardColor>(); TypesSelected = new ObservableCollection <CardType>(); SubTypesSelected = new ObservableCollection <CardSubType>(); ReInit(); Reuse(); }
protected FormatterBase(ExportFormat format, string extension) { Format = format; Extension = extension; MagicDatabase = MagicDatabaseManager.ReadOnly; }
public static IEdition[] GetAllEditionsOrdered(this IMagicDatabaseReadOnly magicDatabase) { return(magicDatabase.GetAllEditions().Ordered() .ToArray()); }
public static IEnumerable <ICardInCollectionCount> GetCollectionStatisticsForCard(this IMagicDatabaseReadOnly magicDatabase, ICardCollection collection, ICard card) { return(magicDatabase.GetCardCollectionStatistics(card).Where(cicc => cicc.IdCollection == collection.Id)); }
public static IEnumerable <IEdition> GetAllEditionIncludingCardOrdered(this IMagicDatabaseReadOnly magicDatabase, ICard card) { return(magicDatabase.GetAllInfos().GetAllEditionIncludingCardOrdered(card)); }