예제 #1
0
        public void EmptyCategoryNameNotValid()
        {
            var newCategory = ExpensesTrackerFactory.DefaultCategory(string.Empty);
            var validation  = _DomainService.IsValidNewCategory(newCategory, null);

            Assert.IsFalse(validation.IsValid());
            Assert.AreEqual(Messages.InvalidCategoryName, validation.ValidationErrorMessage);
        }
예제 #2
0
        public void CantAddDuplicateMissingTrimName()
        {
            var newCategory     = ExpensesTrackerFactory.DefaultCategory(" Coffee ");
            var systemCategoies = new List <ExpenseCategory>()
            {
                new ExpenseCategory {
                    Name = "COFFEE"
                }
            };
            var validation = _DomainService.IsValidNewCategory(newCategory, systemCategoies);

            Assert.IsFalse(validation.IsValid());
            Assert.AreEqual(Messages.CantAddDuplicateCategory, validation.ValidationErrorMessage);
        }
예제 #3
0
        public async Task <NewCategoryResponse> CreateDefaultCategory(ExpenseCategoryRequest request)
        {
            var categories = await _context.ExpenseCategory.Where(c => c.IsDefault == true).ToListAsync();

            var newCategory = ExpensesTrackerFactory.DefaultCategory(request.CategoryName);

            var validation = _domainService.IsValidNewCategory(newCategory, categories);

            if (validation.IsValid())
            {
                _context.ExpenseCategory.Add(newCategory);
                int result = await _context.SaveChangesAsync();

                return(new NewCategoryResponse {
                    CategoryId = newCategory.UId
                });
            }
            return(new NewCategoryResponse {
                ValidationMessage = validation.ValidationErrorMessage
            });
        }