Backend for the Teso project written in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.7 KiB

3 months ago
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<bool> 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;
}
}
}
}