public Task <ActionResult> PostUpdate() { UpdateAccountProviderLegalEntityViewModel = new UpdateAccountProviderLegalEntityViewModel { AccountId = 1, UserRef = Guid.NewGuid(), AccountProviderId = 2, AccountLegalEntityId = 3, Operations = new List <OperationViewModel> { new OperationViewModel { Value = Operation.CreateCohort, IsEnabled = true } } }; GetAccountProviderQueryResult = new GetAccountProviderQueryResult( new AccountProviderDto { Id = 2, ProviderName = "Foo Bar" }, true); Mediator.Setup(m => m.Send(It.IsAny <UpdatePermissionsCommand>(), CancellationToken.None)).ReturnsAsync(Unit.Value); Mediator.Setup(m => m.Send(It.IsAny <GetAccountProviderQuery>(), CancellationToken.None)).ReturnsAsync(GetAccountProviderQueryResult); return(AccountProviderLegalEntitiesController.Update(UpdateAccountProviderLegalEntityViewModel)); }
public async Task <ActionResult> Update(UpdateAccountProviderLegalEntityViewModel model) { var operations = model.Operations.Where(o => o.IsEnabled.HasValue && o.IsEnabled.Value).Select(o => o.Value).ToHashSet(); var command = new UpdatePermissionsCommand(model.AccountId.Value, model.AccountProviderId.Value, model.AccountLegalEntityId.Value, model.UserRef.Value, operations); await _mediator.Send(command); if (Session["Invitation"] as bool? == true) { var provider = await _mediator.Send(new GetAccountProviderQuery(model.AccountId.Value, model.AccountProviderId.Value)); return(Redirect($"{_employerUrls.Account()}/addedprovider/{HttpUtility.UrlEncode(provider.AccountProvider.ProviderName)}")); } return(RedirectToAction("Updated", new UpdatedAccountProviderLegalEntityRouteValues { AccountProviderId = model.AccountProviderId.Value, AccountLegalEntityId = model.AccountLegalEntityId.Value })); }