예제 #1
0
 public void SellTurretOn(Platform platform)
 {
     money += turretData.sellCost;
     MoneyUpdate?.Invoke();
     Destroy(platform.turret);
     selectedPlatform = null;
 }
예제 #2
0
    public void BuildTurretOn(Platform platform)
    {
        money -= turretData.cost;
        MoneyUpdate.Invoke();
        GameObject turret = Instantiate(selectedTurret, platform.GetBuildPosition(), Quaternion.identity);

        turret.transform.SetParent(platform.transform);
        platform.turret = turret;
    }
예제 #3
0
        public void Deposite()
        {
            var         bankAccountController = new BankAccountController();
            MoneyUpdate amount            = new MoneyUpdate("PLN", 1000m);
            var         bankAccountHeader = bankAccountController.Deposite(Guid.Parse("4939209E-8CAA-4722-AC0D-31A1B15462DD"), amount);

            Assert.AreEqual(bankAccountHeader.Balances.First().Amount, 2000m);
            Assert.AreEqual(bankAccountHeader.Balances.First().CurrencyISOCode, "PLN");
        }
예제 #4
0
        public Task <WalletItem> UpdateMoneyAsync(Guid id, double amount, MoneyUpdate by)
        {
            var filter = Builders <WalletItem> .Filter.Eq(w => w.Id, id);

            amount = by switch
            {
                MoneyUpdate.Adding => amount,
                _ => amount * -1
            };

            var updater = Builders <WalletItem> .Update.Inc(w => w.Amount, amount);

            return(_wallets.FindOneAndUpdateAsync(filter, updater));
        }
        public BankAccountHeaderDto Deposite(Guid accountId, MoneyUpdate amountUpdate)
        {
            // get data from db
            DB.BankAccount dbBankAccount = this.AssertBankAccount(accountId);

            // map db entities to bl entities
            // offcourse automapper can be used
            Dictionary <Currency, Money> blCurrencyBalance = MapCurrencyBalance(dbBankAccount);
            IState blState = MapState(dbBankAccount.State);

            // apply business logic
            BL.BankAccount blBankAccount = LoadBankAccount(dbBankAccount.Id, dbBankAccount.UserId, blCurrencyBalance, blState);
            Money          amount        = new Money(amountUpdate.Amount, new Currency(amountUpdate.CurrencyISOCode));

            blBankAccount.Deposit(amount);

            BankAccountHeaderDto bankAccountHeaderDto = MapBankAccount(blBankAccount);

            return(bankAccountHeaderDto);
        }
예제 #6
0
 public void AddMoney(int amount)
 {
     money += amount;
     MoneyUpdate.Invoke();
 }
예제 #7
0
 public void ExtractMoney(int amount)
 {
     money -= amount;
     MoneyUpdate.Invoke();
 }
예제 #8
0
 public void UpgradeTurretOn(Platform platform)
 {
     money -= platform.turret.GetComponent <Turret>().CurrentTurret.UpgardeCost;
     MoneyUpdate?.Invoke();
 }