private bool CheckBot(BidBot bot, double postAge, PromoteRequest promoteModel, double steemToUSD, double sbdToUSD, List <UserFriend> users) { return(!bot.IsDisabled && Constants.SupportedListBots.Contains(bot.Name) && (!bot.MaxPostAge.HasValue || postAge < TimeSpan.FromDays(bot.MaxPostAge.Value).TotalDays) && (!bot.MinPostAge.HasValue || postAge > TimeSpan.FromMinutes(bot.MinPostAge.Value).TotalDays) && CheckAmount(promoteModel.Amount, steemToUSD, sbdToUSD, promoteModel.CurrencyType, bot) && !users.Any(r => r.Author.Equals(bot.Name)) && (promoteModel.CurrencyType == CurrencyType.Sbd ? (bot.MinBid.HasValue && bot.MinBid <= promoteModel.Amount) : (bot.MinBidSteem.HasValue && bot.AcceptsSteem && bot.MinBidSteem <= promoteModel.Amount))); }
private bool CheckAmount(double promoteAmount, double steemToUSD, double sbdToUSD, CurrencyType token, BidBot botInfo) { var amountLimit = botInfo.VoteUsd; var bidsAmountInBot = botInfo.TotalUsd; double userBidInUSD = 0; switch (token) { case CurrencyType.Steem: userBidInUSD = promoteAmount * steemToUSD; break; case CurrencyType.Sbd: userBidInUSD = promoteAmount * sbdToUSD; break; default: return(false); } return((userBidInUSD + bidsAmountInBot) < amountLimit - (amountLimit * 0.25)); }