public async Task <bool> ExecuteTransaction(string transactionId) { var tx = await _transactionRepository.DoQuery().JoinWith(m => m.Account).Filter(m => m.TransactionId == transactionId).SingleResultAsync(); IBankPaymentProcessor bpp = new BankCreator().CreateBankPaymentProcessor(tx.Account.BankName); return(await bpp.ExecuteTransaction(transactionId)); }
public async Task RequestBuildTower(int x, int y, string towerType) { System.Diagnostics.Debug.WriteLine(x); System.Diagnostics.Debug.WriteLine(y); System.Diagnostics.Debug.WriteLine(towerType); Tower tower = null; switch (towerType) { case "Archer": tower = new ArcherCreator(10, 20, "physical").createTower(); await _hubContext.Clients.All.SendAsync("BuildTower", x, y, tower, gameManager.Towers.Count); break; case "Bomber": tower = new BomberCreator(10, 20, "physical").createTower(); await _hubContext.Clients.All.SendAsync("BuildTower", x, y, tower, gameManager.Towers.Count); break; case "Freeze": tower = new FreezeCreator(10, 20, "physical").createTower(); await _hubContext.Clients.All.SendAsync("BuildTower", x, y, tower, gameManager.Towers.Count); break; case "Mage": tower = new MageCreator(10, 20, "physical").createTower(); await _hubContext.Clients.All.SendAsync("BuildTower", x, y, tower, gameManager.Towers.Count); break; case "Bank": tower = new BankCreator(10, "physical").createTower(); await _hubContext.Clients.All.SendAsync("BuildTower", x, y, tower, gameManager.Towers.Count); break; default: System.Diagnostics.Debug.WriteLine("Didn't found the tower type"); break; } gameManager.AddTower(x, y, towerType, tower); }