Exemplo n.º 1
0
        public override void LoadAsyncData()
        {
            _allCoinRequestService = new CryptoRequestService();

            CurrentRequestPropertyType = RequestPropertyType.USDPrice;
            CurrentRequestFilterType   = RequestFilterType.Maximum;
        }
Exemplo n.º 2
0
 public async Task FilterCoins(CryptoRequestService requestParameters)
 {
     try
     {
         FilteredCoinList     = new ObservableCollection <BasicCryptoModel>(await _coinMarketCapService.GetFilteredCoins(requestParameters));
         FilterMenuVisibility = false;
     }
     catch (CryptoServiceException ex)
     {
         RaiseErrorOccured(ex.Message);
     }
 }
Exemplo n.º 3
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");
            }
        }
        private void OnAddFilter()
        {
            var filter = new CryptoRequestParameters
            {
                Property = _currentRequestProperty,
                Type     = CurrentRequestFilterType,
                Value    = CurrentRequestValue
            };

            var filterString = CryptoRequestService.ParseParameter(filter);

            try
            {
                FilterDictionary.Add(filterString, filter);
                FilterStrings.Add(filterString);

                AddCryptoToTrackerCommand.RaiseCanExecuteChanged();
            }

            catch (ArgumentException)
            {
                return;
            }
        }
 public ApplyFiltersEventArgs(CryptoRequestService request)
 {
     Request = request;
 }