using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Teso_API.Models; namespace Teso_API.Methods.Controllers { public class SilverBankOperations { public static async Task DepositToBank(int amount, TESOContext _context) { SilverBank currentBank = await _context.SilverBanks.AsQueryable().OrderByDescending(t => t.Timestamp).AsNoTracking().FirstOrDefaultAsync(); SilverBank bank = new SilverBank(); bank.Amount = amount; bank.Timestamp = DateTime.Now; bank.TransactionType = "TCT002"; bank.TransactionId = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 10000000) + "bankdeposit"; bank.Balance = currentBank.Balance + amount; _context.SilverBanks.Add(bank); } public static async Task WithdrawFromBank(int amount, TESOContext _context) { SilverBank currentBank = await _context.SilverBanks.AsQueryable().OrderByDescending(t => t.Timestamp).AsNoTracking().FirstOrDefaultAsync(); SilverBank bank = new SilverBank(); bank.Amount = amount; bank.Timestamp = DateTime.Now; bank.TransactionType = "TCT001"; bank.TransactionId = String.Format("{0:d9}", (DateTime.Now.Ticks / 10) % 10000000) + "bankwithdrawal"; bank.Balance = currentBank.Balance - amount; if(bank.Balance >= 0) { _context.SilverBanks.Add(bank); return true; } else { return false; } } } }