Esempio n. 1
0
        public IEnumerable <FoundMagicCardViewModel> Lookup(CardLookup lookupOptions)
        {
            var result = CardDefinitions;

            // AND set
            if (lookupOptions.SearchSet != null && !lookupOptions.SetSource.IsAllSearchSet)
            {
                var setDefinition = StaticMagicData.SetDefinitionsBySetName[lookupOptions.SearchSet.Name];
                result = result.Where(c => c.SetCode == setDefinition.Code);
            }

            // AND Name
            if (!string.IsNullOrEmpty(lookupOptions.SearchTerm))
            {
                result = result.Where(c => IsNameMatch(c, lookupOptions));
            }

            // TODO: Andere optionen

            if (lookupOptions.DisplayDistinct)
            {
                result = result.DistinctBy(c => c.DisplayNameEn);
            }

            return(MapResult(result).ToList());
        }
Esempio n. 2
0
        public LookUpRes AccountLookup(CardLookup req)
        {
            var accs = getCardAccByFullDetails(req.BankCode, req.CardNum, req.CardClass);

            if (accs.Count <= 0)
            {
                return(GetLookupRes(AccountStatus.None, $"Account does not exist."));
            }

            return(GetLookupRes(accs[0].CardStatus, accs[0].CardStatus.ToString()));
        }
Esempio n. 3
0
        public void DisplayOwnedCardsFromSet(MagicSetDefinition setDefinition)
        {
            var old = CardLookup.SearchAsYouType;

            CardLookup.SearchAsYouType = false;
            LookupSource = LookupSource.ActiveBinder;
            CardLookup.Reset();
            CardLookup.SearchSet = setDefinition;

            CardLookup.SearchAsYouType = old;
            LookupCards();
        }
Esempio n. 4
0
        public ActionResult Lookup([FromBody] VisaAccountRequest req)
        {
            CardLookup aReq = new CardLookup()
            {
                CardNum = req.CardNumber, BankCode = (int)req.OriginatorBankCode
            };

            var res = this.crdService.AccountLookup(aReq);

            return(new ObjectResult(new VisaAccountResponse()
            {
                CardStatusCode = res.Status, CardStatusDescription = res.Message
            }));
        }
Esempio n. 5
0
        public MainViewModel(INotificationCenter notificationCenter)
        {
            _logger.Log(LogLevel.Info, "============================= NEW APP START ============================= ");
            _notificationCenter      = notificationCenter;
            CardLookup               = new CardLookup();
            CardLookup.SearchWanted += (sender, e) =>
            {
                if (CardLookup.SearchAsYouType)
                {
                    LookupCards();
                }
            };

            DatabaseSummary = string.Format(
                CultureInfo.CurrentUICulture,
                "{0} cards from {1} sets",
                StaticMagicData.CardDefinitions.Count(),
                StaticMagicData.SetDefinitions.Count());

            notificationCenter.NotificationFired += (sender, e) =>
            {
                _logger.Log(e.LogLevel, e.Message);

                if (e.LogLevel >= _maxLevel)
                {
                    StatusBarText = e.Message;
                }
            };

            // Load the settings
            var provider = new SettingsProvider(new LocalAppDataStorage("AppSettings"));

            _settings = provider.GetSettings <SettingsData>();
            _maxLevel = LogLevel.FromString(_settings.LogLevel);

            _currentDataSource = new StaticMagicDataDataSource();

            if (!string.IsNullOrEmpty(_settings.LoadedBinder))
            {
                LoadBinder(new DirectoryInfo(PathHelper.UserDataFolder).MakeAbsolutePath(_settings.LoadedBinder));
            }

            Task.Factory.StartNew(() =>
            {
                LookupSource = LookupSource.ActiveBinder;
                // LookupCards();
            });
        }
Esempio n. 6
0
        public static bool IsNameMatch(
            IMagicCardDefinition definition,
            CardLookup lookup)
        {
            if (definition.DisplayNameEn.IndexOf(lookup.SearchTerm, StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                return(true);
            }

            if (lookup.SearchGerman && definition.NameDE.IndexOf(lookup.SearchTerm, StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                return(true);
            }

            if (lookup.SearchRules && definition.RulesText.IndexOf(lookup.SearchTerm, StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                return(true);
            }

            return(false);
        }