public static IEnumerable<CoinInformation> GetCoinsToMine( List<CoinInformation> coinApiInformation, CoinSuggestionsAlgorithm algorithm, Strategy strategyConfiguration, List<Coin> existingCoinConfigurations) { IEnumerable<CoinInformation> coinsToMine = coinApiInformation; //filter coins based on algorithm coinsToMine = FilterCoinsOnAlgorithm(coinsToMine, algorithm); //order coins based on mining strategies coinsToMine = OrderCoinsOnStrategy(coinsToMine, strategyConfiguration); //filter based on MinimumThresholdSymbol coinsToMine = FilterCoinsOnThresholdSymbol(coinsToMine, strategyConfiguration); //filter based on MinimumThresholdValue coinsToMine = FilterCoinsOnThresholdValue(coinsToMine, strategyConfiguration); //added checks for coin.Symbol and coin.Exchange //current CoinChoose.com feed for LTC profitability has a NULL exchange for Litecoin coinsToMine = FilterOutConfiguredCoins(coinsToMine, existingCoinConfigurations); //suggest the top 3 coins coinsToMine = coinsToMine.Take(3); return coinsToMine; }
public static IEnumerable <CoinInformation> GetCoinsToMine( List <CoinInformation> coinApiInformation, CoinSuggestionsAlgorithm algorithm, Strategy strategyConfiguration, List <Coin> existingCoinConfigurations) { IEnumerable <CoinInformation> coinsToMine = coinApiInformation; //filter coins based on algorithm coinsToMine = FilterCoinsOnAlgorithm(coinsToMine, algorithm); //order coins based on mining strategies coinsToMine = OrderCoinsOnStrategy(coinsToMine, strategyConfiguration); //filter based on MinimumThresholdSymbol coinsToMine = FilterCoinsOnThresholdSymbol(coinsToMine, strategyConfiguration); //filter based on MinimumThresholdValue coinsToMine = FilterCoinsOnThresholdValue(coinsToMine, strategyConfiguration); //added checks for coin.Symbol and coin.Exchange //current CoinChoose.com feed for LTC profitability has a NULL exchange for Litecoin coinsToMine = FilterOutConfiguredCoins(coinsToMine, existingCoinConfigurations); //suggest the top 3 coins coinsToMine = coinsToMine.Take(3); return(coinsToMine); }
private static IEnumerable<CoinInformation> FilterCoinsOnAlgorithm(IEnumerable<CoinInformation> coins, CoinSuggestionsAlgorithm algorithm) { if (algorithm == CoinSuggestionsAlgorithm.SHA256) coins = coins.Where(c => c.Algorithm.Equals(AlgorithmNames.SHA256, StringComparison.OrdinalIgnoreCase)); else if (algorithm == CoinSuggestionsAlgorithm.Scrypt) coins = coins.Where(c => c.Algorithm.Equals(AlgorithmNames.Scrypt, StringComparison.OrdinalIgnoreCase)); return coins; }
private static IEnumerable <CoinInformation> FilterCoinsOnAlgorithm(IEnumerable <CoinInformation> coins, CoinSuggestionsAlgorithm algorithm) { if (algorithm == CoinSuggestionsAlgorithm.SHA256) { coins = coins.Where(c => c.Algorithm.Equals(AlgorithmFullNames.SHA256, StringComparison.OrdinalIgnoreCase)); } else if (algorithm == CoinSuggestionsAlgorithm.Scrypt) { coins = coins.Where(c => c.Algorithm.Equals(AlgorithmFullNames.Scrypt, StringComparison.OrdinalIgnoreCase)); } return(coins); }