//Add private void OnAddFilter() { _allCoinRequestService.AddFilter(new CryptoRequestParameters { Property = CurrentRequestPropertyType, Type = CurrentRequestFilterType, Value = CurrentRequestValue }); FilterList = new ObservableCollection <string>(_allCoinRequestService.GetFilters()); CurrentFilter = new CryptoRequestParameters(); }
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"); } }