Beispiel #1
0
        public void AddCard(
            IMagicCardDefinition cardDefinition,
            int quantity,
            MagicGrade grade,
            MagicLanguage language,
            bool isFoil,
            bool updateTotals)
        {
            var binderCard = new MagicBinderCard()
            {
                CardId   = cardDefinition.CardId,
                Grade    = grade,
                Language = language,
                IsFoil   = isFoil,
                Quantity = quantity
            };

            var viewModel = new MagicBinderCardViewModel(cardDefinition, binderCard);

            _sortedCards.Add(binderCard.RowId, viewModel);
            _cards.Add(viewModel);
            _magicCollection.Cards.Add(binderCard);

            viewModel.PriceChanged += Card_PriceChanged;

            if (updateTotals)
            {
                CalculateTotals();
            }
        }
Beispiel #2
0
 public void Write(
     string fileName,
     IEnumerable <IMagicBinderCardViewModel> cards,
     MagicLanguage language,
     MagicGrade grade)
 {
     Write(
         fileName,
         cards,
         language,
         grade,
         new Func <IMagicBinderCardViewModel, int>((card) => card.Quantity));
 }
Beispiel #3
0
        public static string CreateGetArticlesUrl(
            string name,
            MagicLanguage language,
            bool isExact,
            int?startIndex)
        {
            var builder = new StringBuilder();

            builder.Append("articles/");
            builder.Append(WebUtility.UrlEncode(name));

            if (startIndex.HasValue)
            {
                builder.Append("/" + startIndex.Value);
            }

            return(builder.ToString());
        }
Beispiel #4
0
        public void AddCards(
            IEnumerable <FoundMagicCardViewModel> cards,
            MagicGrade grade,
            MagicLanguage language,
            bool isFoil)
        {
            foreach (var card in cards)
            {
                AddCard(
                    card.Definition,
                    card.Quantity,
                    card.Grade.HasValue ? card.Grade.Value : grade,
                    card.Language.HasValue ? card.Language.Value : language,
                    isFoil,
                    false);
            }

            CalculateTotals();
        }
Beispiel #5
0
        public static string CreateGetProductsUrl(
            string name,
            MagicLanguage language,
            bool isExact,
            int?startIndex)
        {
            var builder = new StringBuilder();

            builder.Append("products/");
            builder.Append(WebUtility.UrlEncode(name) + "/1/");
            builder.Append((int)language + "/");
            builder.Append(isExact ? "true" : "false");

            if (startIndex.HasValue)
            {
                builder.Append("/" + startIndex.Value);
            }

            return(builder.ToString());
        }
Beispiel #6
0
        public void Write(
            string fileName,
            IEnumerable <IMagicBinderCardViewModel> cards,
            MagicLanguage language,
            MagicGrade grade,
            Func <IMagicBinderCardViewModel, int> quantitySelector)
        {
            var outputCsv = new CsvWriter(File.CreateText(fileName));

            outputCsv.WriteField("Count");
            outputCsv.WriteField("Name");
            outputCsv.WriteField("Edition");
            outputCsv.WriteField("Foil");
            outputCsv.WriteField("Language");
            outputCsv.WriteField("Condition");
            outputCsv.WriteField("Comment");
            outputCsv.NextRecord();

            string             lastSetCode = "";
            MagicSetDefinition definition  = null;

            foreach (var card in cards)
            {
                if (lastSetCode != card.Definition.SetCode)
                {
                    lastSetCode = card.Definition.SetCode;
                    definition  = StaticMagicData.SetDefinitionsBySetCode[lastSetCode];
                }

                outputCsv.WriteField(quantitySelector(card));
                outputCsv.WriteField(PatchCardName(card.NameEN), true);
                outputCsv.WriteField(PatchSetName(definition.Name.Replace("Magic: The Gathering�Conspiracy", "Conspiracy")), true);
                outputCsv.WriteField(card.IsFoil ? "foil" : null);
                outputCsv.WriteField(card.Language.HasValue ? card.Language.Value.ToString() : language.ToString());
                outputCsv.WriteField(card.Grade.HasValue ? card.Grade.Value.ToCsv() : grade.ToCsv());
                outputCsv.WriteField(card.Comment);
                outputCsv.NextRecord();
            }

            outputCsv.Dispose();
        }