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