コード例 #1
0
        public void TestMyMagicCollectionCsvWrite()
        {
            var cards = new[] {
                new MagicBinderCard()
                {
                    RowId  = "row1",
                    CardId = "card id 1",
                    Grade  = MagicGrade.LightlyPlayed,
                },
                new MagicBinderCard()
                {
                    RowId         = "row2",
                    CardId        = "card id 2",
                    Grade         = MagicGrade.NearMint,
                    Language      = MagicLanguage.German,
                    QuantityTrade = 1,
                }
            }.ToList();

            var collection = new MagicBinder(cards)
            {
                Name = "My collection",
            };

            var targetFileName = Path.Combine(TestContext.DeploymentDirectory, "CsvTest " + Guid.NewGuid().ToString() + ".csv");
            var target         = new MyMagicCollectionCsv();

            target.WriteFile(targetFileName, collection);

            var referenceFile = GetType().Assembly.LoadEmbeddedResourceTextFile("TestMyMagicCollectionCsvWrite.csv");
            var writtenFile   = File.ReadAllText(targetFileName);

            Assert.AreEqual(referenceFile, writtenFile);
        }
コード例 #2
0
        public void TestMyMagicCollectionCsvRead()
        {
            var targetFileName = Path.Combine(TestContext.DeploymentDirectory, "CsvTest " + Guid.NewGuid().ToString() + ".csv");
            var referenceFile  = GetType().Assembly.LoadEmbeddedResourceTextFile("TestMyMagicCollectionCsvWrite.csv");

            File.WriteAllText(targetFileName, referenceFile, Encoding.UTF8);

            var target = new MyMagicCollectionCsv();
            var found  = target.ReadFile(targetFileName);

            Assert.AreEqual("My collection", found.Name);
            Assert.AreEqual(2, found.Cards.Count);

            Assert.AreEqual("card id 1", found.Cards[0].CardId);
            Assert.AreEqual("card id 2", found.Cards[1].CardId);
        }
コード例 #3
0
        public void WriteFile(string fileName)
        {
            if (_magicCollection == null)
            {
                return;
            }

            var collectionWriter = new MyMagicCollectionCsv();

            collectionWriter.WriteFile(fileName, _magicCollection);
            _fileName = fileName;

            // TODO: make this optional:
            var colWriter = new Coll2Writer(_notificationCenter);

            colWriter.Write(_fileName + ".coll2", _magicCollection.Cards);
        }
コード例 #4
0
        public void ReadFile(string fileName)
        {
            var loader = new MyMagicCollectionCsv();

            _magicCollection = loader.ReadFile(fileName);

            if (_magicCollection != null)
            {
                _cards = new ObservableCollection <MagicBinderCardViewModel>(_magicCollection.Cards
                                                                             .Select(c =>
                {
                    MagicCardDefinition definition;
                    if (StaticMagicData.CardDefinitionsByCardId.TryGetValue(c.CardId, out definition))
                    {
                        return(new MagicBinderCardViewModel(definition, c));
                    }
                    else
                    {
                        return(null);
                    }
                }).Where(c => c != null));
            }
            else
            {
                _cards = new ObservableCollection <MagicBinderCardViewModel>();
            }

            // Now wrap every card with a view model:

            foreach (var card in _cards)
            {
                card.PriceChanged += Card_PriceChanged;
            }

            _sortedCards = Cards.ToDictionary(c => c.RowId);
            _fileName    = fileName;

            CalculateTotals();
        }