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); }
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() } }; }
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); }