Exemple #1
0
        static DocumentFactory()
        {
            addTextField(nameof(KeywordDefinitions.Keywords), nameof(Card.Text));

            addTextField(nameof(Card.Number));

            addTextField(nameof(Card.NameEn), nameof(Card.Name));
            addTextField(nameof(Card.TypeEn), nameof(Card.Type));
            addTextField(nameof(Card.TextEn), nameof(Card.Text));
            addTextField(nameof(Card.FlavorEn), nameof(Card.Flavor));

            addTextField(nameof(Card.Color));

            addTextField(nameof(Card.SetName));
            addTextField(nameof(Card.SetCode));
            addTextField(nameof(Card.Artist));

            addTextField(nameof(Card.OriginalText), nameof(Card.Text));
            addTextField(nameof(Card.OriginalType), nameof(Card.Type));

            addTextField(nameof(Card.Supertypes), nameof(Card.Type));
            addTextField(nameof(Card.Types), nameof(Card.Type));
            addTextField(nameof(Card.Subtypes), nameof(Card.Type));

            addTextField(nameof(Card.LegalIn), nameof(Card.Rulings));
            addTextField(nameof(Card.RestrictedIn), nameof(Card.Rulings));
            addTextField(nameof(Card.BannedIn), nameof(Card.Rulings));

            addTextField(nameof(Card.Power));
            addTextField(nameof(Card.Toughness));
            addTextField(nameof(Card.Loyalty));
            addTextField(nameof(Card.ReleaseDate));
            addTextField(nameof(Card.Layout));

            addTextField(nameof(Card.GeneratedMana), nameof(Card.Text));
            addTextField(nameof(Card.ManaCost));
            addTextField(nameof(Card.Rarity));

            addFloatField(nameof(Card.PowerNum), nameof(Card.Power));
            addFloatField(nameof(Card.ToughnessNum), nameof(Card.Toughness));
            addIntField(nameof(Card.LoyaltyNum), nameof(Card.Loyalty));

            addIntField(nameof(Card.Hand));
            addIntField(nameof(Card.Life));

            addFloatField(nameof(Card.Cmc));
            addFloatField(nameof(Card.PricingLow));
            addFloatField(nameof(Card.PricingMid));
            addFloatField(nameof(Card.PricingHigh));

            foreach (var lang in Languages)
            {
                addSpecificTextField(nameof(Card.Name), lang);
                addSpecificTextField(nameof(Card.Type), lang);
                addSpecificTextField(nameof(Card.Text), lang);
                addSpecificTextField(nameof(Card.Flavor), lang);
            }

            UserFields.Add(CardQueryParser.Like);
        }
Exemple #2
0
        private static void addTextField(string userField, string displayField = null)
        {
            _textFields.Add(userField);
            UserFields.Add(userField);

            if (displayField != null)
            {
                DisplayFieldByIndexField.Add(userField, displayField);
            }
        }
Exemple #3
0
        private static void addIntField(string userField, string displayFieldName = null)
        {
            UserFields.Add(userField);
            IntFields.Add(userField);

            if (displayFieldName != null)
            {
                DisplayFieldByIndexField.Add(userField, displayFieldName);
            }
        }
Exemple #4
0
        private static void addSpecificTextField(string userField, string language)
        {
            if (language == null)
            {
                throw new ArgumentNullException(nameof(language));
            }

            UserFields.Add(userField);
            LocalizedFields.Add(userField);

            userField = userField.ToLowerInvariant();

            var localized = GetLocalizedField(userField, language);

            _textFields.Add(localized);

            DisplayFieldByIndexField.Add(localized, userField);
        }