示例#1
0
        public ActionResult TransferConfirmation(string hashedAccountId, TransferConfirmationViewModel request)
        {
            if (!ModelState.IsValid)
            {
                return(View("TransferConfirmation", request));
            }

            var url = request.SelectedOption == TransferConfirmationViewModel.Option.Homepage
                ? _linkGenerator.AccountsLink($"accounts/{hashedAccountId}/teams")
                : _linkGenerator.AccountsLink($"accounts/{hashedAccountId}/transfers");

            return(Redirect(url));
        }
示例#2
0
        public string AccountsLink(string routeName, params string[] args)
        {
            //if (string.IsNullOrWhiteSpace(routeName) || args == null || args.Length == 0 || string.IsNullOrWhiteSpace(args[0]) )
            //return _generator.AccountsLink(string.Empty);

            if (string.IsNullOrWhiteSpace(routeName))
            {
                return(_generator.AccountsLink(string.Empty));
            }

            var route = _routes.Accounts[routeName];

            if (args != null && args.Length > 0)
            {
                route = string.Format(route, args);
            }

            return(_generator.AccountsLink(route));
        }
示例#3
0
        public async Task <IActionResult> Details(DetailsViewModel viewModel)
        {
            switch (viewModel.Selection)
            {
            case CohortDetailsOptions.Send:
            {
                var request = await _modelMapper.Map <SendCohortRequest>(viewModel);

                await _commitmentsApiClient.SendCohort(viewModel.CohortId, request);

                return(RedirectToAction("Sent", new { viewModel.CohortReference, viewModel.AccountHashedId }));
            }

            case CohortDetailsOptions.Approve:
            {
                var request = await _modelMapper.Map <ApproveCohortRequest>(viewModel);

                await _commitmentsApiClient.ApproveCohort(viewModel.CohortId, request);

                return(RedirectToAction("Approved", new { viewModel.CohortReference, viewModel.AccountHashedId }));
            }

            case CohortDetailsOptions.ViewEmployerAgreement:
            {
                var request = await _modelMapper.Map <ViewEmployerAgreementRequest>(viewModel);

                if (request.AgreementHashedId == null)
                {
                    return(Redirect(_linkGenerator.AccountsLink($"accounts/{request.AccountHashedId}/agreements/")));
                }
                return(Redirect(_linkGenerator.AccountsLink(
                                    $"accounts/{request.AccountHashedId}/agreements/{request.AgreementHashedId}/about-your-agreement")));
            }

            case CohortDetailsOptions.Homepage:
            {
                return(Redirect(_linkGenerator.AccountsLink($"accounts/{viewModel.AccountHashedId}/teams")));
            }

            default:
                throw new ArgumentOutOfRangeException(nameof(viewModel.Selection));
            }
        }
 public static string YourOrganisationsAndAgreements(this ILinkGenerator linkGenerator, string accountHashedId)
 {
     return(linkGenerator.AccountsLink($"accounts/{accountHashedId}/agreements"));
 }
 public static string EmployerAccountsHome(this ILinkGenerator linkGenerator)
 {
     return(linkGenerator.AccountsLink());
 }
 public static string PayeSchemes(this ILinkGenerator linkGenerator, string accountHashedId)
 {
     return(linkGenerator.AccountsLink($"accounts/{accountHashedId}/schemes"));
 }
 public static string EmployerHome(this ILinkGenerator linkGenerator, string accountHashedId)
 {
     return(linkGenerator.AccountsLink($"accounts/{accountHashedId}/teams"));
 }
示例#8
0
 public static string EmployerAccountsTransfers(this ILinkGenerator linkGenerator, string accountHashedId)
 {
     return(linkGenerator.AccountsLink($"accounts/{accountHashedId}/transfers"));
 }
示例#9
0
 public static string YourTeam(this ILinkGenerator linkGenerator, string accountHashedId)
 {
     return(linkGenerator.AccountsLink($"accounts/{accountHashedId}/teams/view"));
 }