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); }
private static void addTextField(string userField, string displayField = null) { _textFields.Add(userField); UserFields.Add(userField); if (displayField != null) { DisplayFieldByIndexField.Add(userField, displayField); } }
private static void addIntField(string userField, string displayFieldName = null) { UserFields.Add(userField); IntFields.Add(userField); if (displayFieldName != null) { DisplayFieldByIndexField.Add(userField, displayFieldName); } }
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); }