Beispiel #1
0
 internal async Task <IEnumerable <CategoryCrudVm> > GetViewModelCollection(ICategoryManagerService service)
 {
     return(await service.GetCategories()
            .OrderBy(c => c.Name.ToLower())
            .Select(c => new CategoryCrudVm(c))
            .Extension().ToListAsync());
 }
Beispiel #2
0
        internal async Task <CategoryCrudVm> CreateViewModel(int?id, ICategoryManagerService service)
        {
            CategoryCrudVm vm = null;

            if (id != null)
            {
                vm = new CategoryCrudVm(await service.GetSingleCategoryAsync(id));
            }
            return(vm);
        }
Beispiel #3
0
        public void Initialize_test_objects()
        {
            switch (TestContext.TestName)
            {
            case nameof(AddCategoryAsync_adds_category_then_saves):
            case nameof(RemoveCategoryAsync_removes_category_then_saves):
            case nameof(UpdateCategoryAsync_addsCategory_then_saves_when_EffectiveFrom_moved_later):
            case nameof(UpdateCategoryAsync_editsCategory_then_saves_when_EffectiveFrom_unchanged_or_earlier):
                _mockRepo = new Mock <IBudgetRepo>(MockBehavior.Strict);
                break;

            default:
                _mockRepo = new Mock <IBudgetRepo>();
                break;
            }
            _testService = new CategoryManagerService(_mockRepo.Object);
        }
Beispiel #4
0
 /// <summary>
 /// The default Constructor
 /// </summary>
 /// <param name="service">The service to use in the controller</param>
 public BudgetCategoryController(ICategoryManagerService service)
     : base(
         // Setup required functions
         singleAdder: vm => service.AddCategoryAsync(vm.Name, vm.Amount, vm.Type),
         singleDeleter: id => service.RemoveCategoryAsync(id),
         singleEditor: vm => service.UpdateCategoryAsync(vm.NavId, vm.Amount, vm.EffectiveFrom, vm.Type),
         existanceChecker: vm => service.CategoryExists(vm.NavId)
         )
 {
     CollectionGetter  = () => GetViewModelCollection(service);
     ViewModelCreator  = id => CreateViewModel(id, service);
     ExceptionHandling = new Dictionary <Type, Func <Exception, IActionResult> > {
         { typeof(InvalidDateExpection), ex => {
               ModelState.AddModelError(nameof(BudgetCategory.EffectiveFrom), ex.Message);
               return(null);
           } },
         { typeof(ExpenseTrackerException), ex => {
               return(NotFound());
           } }
     };
 }
Beispiel #5
0
 /// <summary>
 /// Initializes a new instance of the CategoryController
 /// </summary>
 /// <param name="categoryManager"></param>
 /// <param name="hostingEnvironment"></param>
 public CategoryController(ICategoryManagerService categoryManager, IHostingEnvironment hostingEnvironment)
 {
     _categoryManager    = categoryManager;
     _hostingEnvironment = hostingEnvironment;
 }