コード例 #1
0
 internal async Task <PayeeCrudVm> GetViewModel(int?id, IPayeeManagerService service)
 {
     if (GetRoutedAction() == nameof(Create))
     {
         return(new PayeeCrudVm(null, _allCategoryNames));
     }
     return(new PayeeCrudVm(await service.GetSinglePayeeAsync(id, true), _allCategoryNames));
 }
コード例 #2
0
        public void Initialize_test_objects()
        {
            switch (TestContext.TestName)
            {
            case nameof(AddPayeeAsync_adds_payee_then_saves):
            case nameof(RemovePayeeAsync_removes_payee_then_saves):
            case nameof(UpdatePayeeAsync_edits_payee_then_saves):
                _mockRepo = new Mock <IBudgetRepo>(MockBehavior.Strict);
                break;

            default:
                _mockRepo = new Mock <IBudgetRepo>();
                break;
            }
            _testService = new PayeeManagerService(_mockRepo.Object);
        }
コード例 #3
0
        /// <summary>
        /// The default constructor
        /// </summary>
        /// <param name="service">The service to use in the controller</param>
        public PayeeController(IPayeeManagerService service) : base(
                singleAdder: payee => service.AddPayeeAsync(payee),
                singleEditor: payee => service.UpdatePayeeAsync(payee),
                existanceChecker: payee => service.PayeeExists(payee.NavId),
                singleDeleter: id => service.RemovePayeeAsync(id)
                )
        {
            // Setup category name collection
            _allCategoryNames = service.GetCategories().Select(c => c.Name).ToList();

            // Setup CRUDController functions
            CollectionGetter   = () => GetViewModelCollection(service);
            ViewModelCreator   = id => GetViewModel(id, service);
            FailedPostRebinder = payee => payee.CategoryOptions = _allCategoryNames;

            // Setup error handling
            ExceptionHandling = new Dictionary <Type, Func <Exception, IActionResult> > {
                { typeof(ExpenseTrackerException), ex => NotFound() },
                { typeof(NullModelException), ex => {
                      ModelState.AddModelError("", ex.Message);
                      return(null);
                  } }
            };
        }