Esempio n. 1
0
        public async Task <MonthBudgetResponse> AddNewUserBudget(MonthBudgetRequest request)
        {
            var categories = await _context.ExpenseCategory.Where(c => c.IsDefault || c.OwnerId == request.UserId).ToListAsync();

            var newBudget = ExpensesTrackerFactory.CreateNewBudget(request, categories);

            var validation = _budgetDomainService.IsValidNewUserBudget(newBudget);

            if (validation.IsValid())
            {
                _context.UserBudget.Add(newBudget);
                await _context.SaveChangesAsync();
            }
            return(MapUserBudgetToResponse(newBudget, !validation.IsValid(), validation));
        }
Esempio n. 2
0
        public void BudgetMustHaveOwnerId()
        {
            var request    = new MonthBudgetRequest {
            };
            var budget     = ExpensesTrackerFactory.CreateNewBudget(request, null);
            var validation = _userBudgetDomainService.IsValidNewUserBudget(budget);

            Assert.IsFalse(validation.IsValid());
            Assert.AreEqual(Messages.BudgetMustHaveAnOwner, validation.ValidationErrorMessage);
        }