Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 44 additions & 27 deletions LearningHub.Nhs.WebUI/Controllers/AccountController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -469,41 +469,53 @@ public async Task<IActionResult> CreateAccountRegionSelection(AccountCreationVie
{
var countryCheck = int.TryParse(accountCreationViewModel.CountryId, out int countryId);
var accountCreation = await this.multiPageFormService.GetMultiPageFormData<AccountCreationViewModel>(MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);
if (string.IsNullOrWhiteSpace(accountCreationViewModel.CountryId) || !countryCheck)
if (accountCreationViewModel.CountryId != null)
{
accountCreation.CountryId = accountCreationViewModel.CountryId;
}

if (accountCreation.CountryId == "1")
{
var regionData = await this.regionService.GetAllPagedAsync(accountCreationViewModel.CurrentPageIndex, UserRegistrationContentPageSize);
return this.View(new AccountCreationListViewModel { Region = regionData.Item2, AccountCreationPaging = new AccountCreationPagingModel { TotalItems = regionData.Item1, PageSize = UserRegistrationContentPageSize, HasItems = regionData.Item1 > 0, CurrentPage = accountCreationViewModel.CurrentPageIndex }, RegionId = accountCreation.RegionId, ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
}
else if (string.IsNullOrWhiteSpace(accountCreationViewModel.CountryId) || !countryCheck)
{
this.ModelState.AddModelError("CountryId", CommonValidationErrorMessages.CountryRequired);
var countries = await this.countryService.GetFilteredAsync(accountCreationViewModel.FilterText);
return this.View("CreateAccountCountrySelection", new AccountCreationListViewModel { FilterText = accountCreationViewModel.FilterText, CountryList = countries.ToList(), ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
}

accountCreation.CountryId = accountCreationViewModel.CountryId;
await this.multiPageFormService.SetMultiPageFormData(accountCreation, MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);
if (countryId != 1)
else
{
accountCreationViewModel.RegionId = string.Empty;
accountCreation.RegionId = string.Empty;
accountCreation.CountryId = accountCreationViewModel.CountryId;
await this.multiPageFormService.SetMultiPageFormData(accountCreation, MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);

if (accountCreation.IsLoginWizard)
if (countryId != 1)
{
return this.CheckConfirmationUpdate() ? this.RedirectToAction("AccountConfirmation", "LoginWizard") : this.RedirectToAction("NextStage", "LoginWizard");
}
accountCreationViewModel.RegionId = string.Empty;
accountCreation.RegionId = string.Empty;
await this.multiPageFormService.SetMultiPageFormData(accountCreation, MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);

return this.CheckConfirmationUpdate() ? this.RedirectToAction("CreateAccountConfirmation", new AccountCreationViewModel { LocationId = accountCreation.LocationId }) : this.RedirectToAction("CreateAccountSearchRole", accountCreationViewModel);
}
if (accountCreation.IsLoginWizard)
{
return this.CheckConfirmationUpdate() ? this.RedirectToAction("AccountConfirmation", "LoginWizard") : this.RedirectToAction("NextStage", "LoginWizard");
}

switch (accountCreationViewModel.AccountCreationPagingEnum)
{
case AccountCreationPagingEnum.NextPageChange:
accountCreationViewModel.CurrentPageIndex += 1;
break;
return this.CheckConfirmationUpdate() ? this.RedirectToAction("CreateAccountConfirmation", new AccountCreationViewModel { LocationId = accountCreation.LocationId }) : this.RedirectToAction("CreateAccountSearchRole", accountCreationViewModel);
}

case AccountCreationPagingEnum.PreviousPageChange:
accountCreationViewModel.CurrentPageIndex -= 1;
break;
case AccountCreationPagingEnum.Default:
accountCreationViewModel.CurrentPageIndex = 1;
break;
switch (accountCreationViewModel.AccountCreationPagingEnum)
{
case AccountCreationPagingEnum.NextPageChange:
accountCreationViewModel.CurrentPageIndex += 1;
break;

case AccountCreationPagingEnum.PreviousPageChange:
accountCreationViewModel.CurrentPageIndex -= 1;
break;
case AccountCreationPagingEnum.Default:
accountCreationViewModel.CurrentPageIndex = 1;
break;
}
}

var region = await this.regionService.GetAllPagedAsync(accountCreationViewModel.CurrentPageIndex, UserRegistrationContentPageSize);
Expand Down Expand Up @@ -533,6 +545,11 @@ public async Task<IActionResult> CreateAccountSubmitRegionSelection(AccountCreat
}
}

if (accountCreationViewModel.CountryId != null)
{
accountCreation.CountryId = accountCreationViewModel.CountryId;
}

accountCreation.RegionId = accountCreationViewModel.RegionId;
await this.multiPageFormService.SetMultiPageFormData(accountCreation, MultiPageFormDataFeature.AddRegistrationPrompt, this.TempData);

Expand All @@ -546,7 +563,7 @@ public async Task<IActionResult> CreateAccountSubmitRegionSelection(AccountCreat
return this.CheckConfirmationUpdate() ? this.RedirectToAction("AccountConfirmation", "LoginWizard") : this.RedirectToAction("NextStage", "LoginWizard");
}

return this.CheckConfirmationUpdate() ? this.RedirectToAction("CreateAccountConfirmation", new AccountCreationViewModel { LocationId = accountCreation.LocationId }) : this.RedirectToAction("CreateAccountSearchRole", new AccountCreationViewModel() { CountryId = accountCreation.CountryId });
return this.CheckConfirmationUpdate() ? this.RedirectToAction("CreateAccountConfirmation", new AccountCreationViewModel { LocationId = accountCreation.LocationId }) : this.RedirectToAction("CreateAccountSearchRole", new AccountCreationViewModel() { CountryId = accountCreation.CountryId, RegionId = accountCreation.RegionId });
}

/// <summary>
Expand Down Expand Up @@ -581,7 +598,7 @@ public async Task<IActionResult> CreateAccountCurrentRole(AccountCreationViewMod
if (string.IsNullOrWhiteSpace(filterText))
{
this.ModelState.AddModelError("FilterText", CommonValidationErrorMessages.SearchTermRequired);
return this.View("CreateAccountSearchRole", new AccountCreationViewModel { RegionId = accountCreation.RegionId, ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
return this.View("CreateAccountSearchRole", new AccountCreationViewModel { CountryId = accountCreation.CountryId, RegionId = accountCreation.RegionId, ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
}
}

Expand All @@ -598,7 +615,7 @@ public async Task<IActionResult> CreateAccountCurrentRole(AccountCreationViewMod
else
{
this.ModelState.AddModelError("FilterText", CommonValidationErrorMessages.SearchTermRequired);
return this.View("CreateAccountSearchRole", new AccountCreationViewModel { RegionId = accountCreation.RegionId, ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
return this.View("CreateAccountSearchRole", new AccountCreationViewModel { CountryId = accountCreation.CountryId, RegionId = accountCreation.RegionId, ReturnToConfirmation = accountCreationViewModel.ReturnToConfirmation });
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,16 @@
<div class="nhsuk-width-container app-width-container">
<div class="nhsuk-grid-row">
<div class="nhsuk-grid-column-two-thirds nhsuk-u-padding-bottom-9">
<vc:back-link asp-controller="Account" asp-action="CreateAccountRegionSelection" asp-all-route-data="@routeData" link-text="Back to: Select your region" />
@if (Model.CountryId == "1")
{
<vc:back-link asp-controller="Account" asp-action="CreateAccountRegionSelection" asp-all-route-data="@routeData" link-text="Back to: Select your region" />

}
else
{
<vc:back-link asp-controller="Account" asp-action="CreateAccountCountrySelection" asp-all-route-data="@routeData" link-text="Back to: Select your country" />

}

@if (errorHasOccurred)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
}
}

@if (showPaging == true)
{
<nav class="nhsuk-pagination" role="navigation" aria-label="Pagination">
<ul class="nhsuk-list nhsuk-pagination__list">

Expand Down Expand Up @@ -69,5 +67,4 @@
}
</ul>
</nav>
}

Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
}
}

@if (showPaging == true)
{
<nav class="nhsuk-pagination" role="navigation" aria-label="Pagination">
<ul class="nhsuk-list nhsuk-pagination__list">

Expand Down Expand Up @@ -69,5 +67,3 @@
}
</ul>
</nav>
}

Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
}
}

@if (showPaging == true)
{
<nav class="nhsuk-pagination" role="navigation" aria-label="Pagination">
<ul class="nhsuk-list nhsuk-pagination__list">

Expand Down Expand Up @@ -69,5 +67,4 @@
}
</ul>
</nav>
}

Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
}
}

@if (showPaging == true)
{
<nav class="nhsuk-pagination" role="navigation" aria-label="Pagination">
<ul class="nhsuk-list nhsuk-pagination__list">

Expand Down Expand Up @@ -69,4 +67,3 @@
}
</ul>
</nav>
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
}
}

@if (showPaging == true)
{
<nav class="nhsuk-pagination" role="navigation" aria-label="Pagination">
<ul class="nhsuk-list nhsuk-pagination__list">

Expand Down Expand Up @@ -69,4 +67,3 @@
}
</ul>
</nav>
}
Loading