public bool MakeRandomMoCPayment(Utilities.TimeSpan timeSpan)
        {
            var systemValues   = _systemValueService.GetNewestSystemValue();
            var totalUserCount = _userService.GetAllUsersCount(timeSpan);

            //If the amount of users (as of now) is greater than the min threshold
            if (totalUserCount > systemValues.AirdropTotalUserCountMinThreshold)
            {
                Random rnd = new Random();
                //Get a random percent payout 10~20
                int giveAway = rnd.Next(systemValues.AirdropMinThresholdUserPercent, systemValues.AirdropMaxThresholdUserPercent);
                //Get the number of users based on the random percentage > and round up
                double usersToGiveAway = Math.Ceiling(
                    ((double)(totalUserCount) / 100.0) * ((double)giveAway)
                    );
                var randomUsers = _userService.GetRandomUsers(((int)usersToGiveAway), timeSpan.StartDate);

                foreach (var user in randomUsers)
                {
                    var amount = NumberUtility.GetRandomDouble(10, 100);
                    //Make transfer from admin account
                    var success = _creditWalletService.Transfer(systemValues.AdminUserId, user.Id, amount, TransferType.Airdrop);
                    if (success)
                    {
                        //Send message to user informing of success
                        _userMessageService.AddUserMessage($@"You have been randomly selected to recieve: {amount} MoC!",
                                                           user.Id, MessageStatus.Win.ToString());
                    }
                }
                return(true);
            }
            return(false);
        }
        public bool TipComment(long userId, long commentId, double amount)
        {
            var user    = _userService.GetUserById(userId);
            var comment = GetCommentById(commentId);
            var tipped  = _creditWalletService.Transfer(userId, comment.CreatorId, amount);

            if (tipped)
            {
                comment.TipAmount += amount;
                _commentRepository.Update(comment);
                return(Convert.ToBoolean(_commentRepository.Save()));
            }
            return(false);
        }