Esempio n. 1
0
        public async Task <ExpenditureViewModel> Delete([FromUri] RemoveExpenditureCommand command)
        {
            var result = await _commandDispatcher.Execute <RemoveExpenditureCommand, RemoveExpenditureCommand.Result>(command);

            var expenditures =
                await _queryDispatcher.Execute <GetExpenditureQuery, GetExpenditureQuery.Result>(new GetExpenditureQuery
            {
                CultureId = command.CultureId,
                UserId    = command.UserId
            });

            var accounts = await _queryDispatcher.Execute <GetAccountQuery, GetAccountQuery.Result>(new GetAccountQuery
            {
                UserId    = command.UserId,
                CultureId = command.CultureId
            });

            var budgets = await _queryDispatcher.Execute <GetBudgetQuery, GetBudgetQuery.Result>(new GetBudgetQuery
            {
                CultureId = command.CultureId,
                UserId    = command.UserId
            });

            return(new ExpenditureViewModel
            {
                AccountPresentations = accounts.AccountPresentations,
                BudgetPresentations = budgets.BudgetPresentations,
                ExpenditurePresentations = expenditures.ExpenditurePresentations,
                EffectiveRows = result.EffectiveRows
            });
        }
Esempio n. 2
0
        public async Task RemoveExpenseExpenditure()
        {
            var command = new RemoveExpenditureCommand
            {
                UserId         = new Guid("05541516-ccf1-41f4-b6ac-b2aa7d807b8c"),
                ExpenditureIds = new List <Guid>
                {
                    new Guid("714b19c9-7c5b-47f9-9a99-46639db1595d")
                }
            };

            _db.Setup(x => x.SaveChangesAsync()).ReturnsAsync(1);

            var result = await _handler.Execute(command);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.EffectiveRows, 1);

            var account = _accounts.First();

            Assert.AreEqual(account.Balance, 2000);

            var budget = _budgets.First();

            Assert.AreEqual(budget.Expensed, 0);
            Assert.AreEqual(budget.Balance, budget.Total);
        }
Esempio n. 3
0
        public async Task ThrowException()
        {
            var command = new RemoveExpenditureCommand
            {
                UserId = new Guid("05541516-ccf1-41f4-b6ac-b2aa7d807b8c"),
            };

            _db.Setup(x => x.SaveChangesAsync()).ReturnsAsync(1);

            var result = await _handler.Execute(command);
        }