public async Task <bool> Approval(string lenderHash, string borrowerHash, int lenderPoolId)
        {
            User lender = await _context.Users.FirstOrDefaultAsync(finduser => finduser.UserHash.Equals(lenderHash));

            User borrower = await _context.Users.FirstOrDefaultAsync(finduser => finduser.UserHash.Equals(borrowerHash));

            if (lender != null && borrower != null)
            {
                //changing lenderpool status
                LenderPool lenderpool = await _context.LenderPools.FirstOrDefaultAsync(x => x.LenderPoolId == lenderPoolId);

                lenderpool.Status = STATUS_APPROVED;
                _context.LenderPools.Update(lenderpool);

                //adding transaction to lenderborrowertransaction
                LenderBorrowerTransaction lenderborrowertransaction = new LenderBorrowerTransaction()
                {
                    Status     = STATUS_NOTPAID,
                    Amount     = lenderpool.Amount,
                    LenderHash = lenderHash,
                    BorrowHash = borrowerHash
                };
                await _context.LenderBorrowerTransactions.AddAsync(lenderborrowertransaction);

                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
 public async Task <IActionResult> Pledge(string userhash, int amount, [FromBody] LenderPool lenderPool)
 {
     if (await TransactionRepo.Pledge(userhash, amount, lenderPool))
     {
         return(Ok());
     }
     return(BadRequest());
 }
        public async Task <bool> CancelLend(string lenderHash, int lenderPoolId)
        {
            //check for a user
            User lender = await _context.Users.FirstOrDefaultAsync(finduser => finduser.UserHash.Equals(lenderHash));

            if (lender != null)
            {
                //changing lenderpool status
                LenderPool lenderpool = await _context.LenderPools.FirstOrDefaultAsync(x => x.LenderPoolId == lenderPoolId);

                //remove from lenderpool
                _context.Remove(lenderpool);
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
Exemple #4
0
        public async Task <bool> Pledge(string userHash, int Amount, LenderPool lenderPool)
        {
            User user = await _context.Users.FirstOrDefaultAsync(finduser => finduser.UserHash.Equals(userHash));

            if (user != null)
            {
                Wallet oldWallet = await _context.Wallets.FirstOrDefaultAsync(x => x.UserHash.Equals(userHash));

                if (int.TryParse(oldWallet.Balance, out int result))
                {
                    oldWallet.Balance = (result - Amount).ToString();
                }

                _context.Wallets.Update(oldWallet);

                await _context.LenderPools.AddAsync(lenderPool);

                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }