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));
        }