Example #1
0
        internal async Task <AliasCrudVm> CreateViewModel(int?id, IAliasManagerService service)
        {
            if (id == null && GetRoutedAction() != nameof(Create))
            {
                return(null);
            }
            AliasCrudVm vm = null;

            if (id == null)
            {
                vm = new AliasCrudVm(null, service);
            }
            else
            {
                vm = new AliasCrudVm(await service.GetSingleAliasAsync(id, true), service);
            }
            if (GetRoutedAction() == nameof(Create) &&
                int.TryParse(GetRequestParameter("payeeID"), out int fetchedId))
            {
                Payee payee = await service.GetPayees().Extension().SingleOrDefaultAsync(p => p.ID == fetchedId);

                if (payee != null)
                {
                    vm.PayeeName = payee.Name;
                }
            }
            return(vm);
        }
Example #2
0
        public AliasController(IAliasManagerService service) : base(
                singleAdder: alias => service.AddAliasAsync(alias.Name, alias.PayeeName),
                singleDeleter: id => service.RemoveAliasAsync(id),
                singleEditor: alias => service.UpdateAliasAsync(alias.NavId, alias.Name, alias.PayeeName),
                existanceChecker: alias => service.AliasExists(alias.NavId)
                )
        {
            // Define how a view model should be created
            ViewModelCreator = id => CreateViewModel(id, service);

            ExceptionHandling = new Dictionary <Type, Func <Exception, IActionResult> > {
                { typeof(ExpenseTrackerException), ex => NotFound() }
            };
        }
Example #3
0
        public void Initialize_test_objects()
        {
            switch (TestContext.TestName)
            {
            case nameof(UpdateAliasAsync_edits_alias_then_saves):
            case nameof(AddAliasAsync_adds_alias_then_saves):
                _mockRepo = new Mock <IBudgetRepo>(MockBehavior.Strict);
                break;

            default:
                _mockRepo = new Mock <IBudgetRepo>();
                break;
            }
            _testService = new AliasManagerService(_mockRepo.Object);
        }