Exemplo n.º 1
0
        //Add
        private void OnAddFilter()
        {
            _allCoinRequestService.AddFilter(new CryptoRequestParameters
            {
                Property = CurrentRequestPropertyType,
                Type     = CurrentRequestFilterType,
                Value    = CurrentRequestValue
            });


            FilterList    = new ObservableCollection <string>(_allCoinRequestService.GetFilters());
            CurrentFilter = new CryptoRequestParameters();
        }
Exemplo n.º 2
0
        public void OnConditionMet(CryptoRequestParameters condition, CryptoDataModel model)
        {
            var service = new CryptoRequestService();

            service.AddFilter(condition);

            var conditionString = service.GetFilters().Single();


            if (ConditionMet == null)
            {
                return;
            }
            ConditionMet(this, new ConditionMetEventArgs(model.Data.Symbol, conditionString));
        }
        public async Task <List <BasicCryptoModel> > GetFilteredCoins(CryptoRequestService requestParameters)
        {
            try
            {
                IEnumerable <BasicCryptoModel> cryptoList = await GetAllCoins().ConfigureAwait(false);

                var filterStrings = requestParameters.GetFilters();

                foreach (var filter in filterStrings)
                {
                    cryptoList = cryptoList.Where(filter);
                }

                return(cryptoList.ToList());
            }

            catch (Exception)
            {
                throw new CryptoServiceException("Download failed, service may be down or you do not have a stable internet connection");
            }
        }