static BaseContext() { Database.SetInitializer<BaseContext>(new DbInitializer()); using (var db = new BaseContext()) db.Database.Initialize(false); }
public Task<Account> GetBalance(int accountId) { using (var context = new BaseContext()) { return context.Accounts.FirstOrDefaultAsync(a => a.Id == accountId); } }
public Task<bool> CheckPassword(int accountId, string password) { using (var context = new BaseContext()) { return context.Accounts.AnyAsync(a=> a.Password == password && a.Id == accountId); } }
public async Task<int> InsertAccount(Account newAccount) { using (var context = new BaseContext()) { context.Accounts.Add(newAccount); await context.SaveChangesAsync(); return newAccount.Id; } }
public Customer CreateUser(string name) { using (var db = new BaseContext()) { var newCustomer = new Models.Customer() { Name = name }; db.Customers.Add(newCustomer); db.SaveChanges(); return newCustomer; } }
public async Task DecrementBalance(int accountId, decimal amount) { using (var context = new BaseContext()) { await context.Database.Connection.OpenAsync(); using (var transaction = context.Database.Connection.BeginTransaction()) { var accountObj = await context.Accounts.FirstOrDefaultAsync(account => accountId == account.Id); accountObj.Balance -= amount; context.Entry(accountObj).State = EntityState.Modified; await context.SaveChangesAsync(); transaction.Commit(); } context.Database.Connection.Close(); } }