diff --git a/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor b/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor
index 352595a..fa61ab4 100644
--- a/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor
+++ b/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor
@@ -1,65 +1,2 @@
@page "/redirect"
-@attribute [AllowAnonymous]
-@inject MesaFabApprovalAuthStateProvider authStateProvider
-@inject IAuthenticationService authService
-@inject IUserService userService
-@inject ISnackbar snackbar
-@inject MesaFabApprovalAuthStateProvider authStateProvider
-@inject NavigationManager navigationManager
-
-@code {
- private string? _jwt;
- private string? _refreshToken;
- private string? _redirectPath;
-
- protected override async Task OnParametersSetAsync() {
- try {
- Uri uri = navigationManager.ToAbsoluteUri(navigationManager.Uri);
-
- if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("jwt", out var jwt)) {
- _jwt = System.Net.WebUtility.UrlDecode(jwt);
- }
-
- if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("refreshToken", out var refreshToken)) {
- _refreshToken = System.Net.WebUtility.UrlDecode(refreshToken);
- }
-
- if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("redirectPath", out var redirectPath)) {
- _redirectPath = redirectPath.ToString();
- }
-
- if (!string.IsNullOrWhiteSpace(_jwt) && !string.IsNullOrWhiteSpace(_refreshToken)) {
- await authService.SetTokens(_jwt, _refreshToken);
-
- ClaimsPrincipal principal = authService.GetClaimsPrincipalFromJwt(_jwt);
-
- string loginId = userService.GetLoginIdFromClaimsPrincipal(principal);
-
- await authService.ClearCurrentUser();
- await authService.ClearTokens();
-
- await authService.SetLoginId(loginId);
- await authService.SetTokens(_jwt, _refreshToken);
- await authService.SetCurrentUser(null);
-
- await authStateProvider.StateHasChanged(principal);
- }
-
- if (authStateProvider.CurrentUser is not null && !string.IsNullOrWhiteSpace(_redirectPath)) {
- navigationManager.NavigateTo(_redirectPath);
- } else {
- await authStateProvider.Logout();
-
- if (!string.IsNullOrWhiteSpace(_redirectPath)) {
- navigationManager.NavigateTo($"login/{_redirectPath}");
- } else {
- navigationManager.NavigateTo("login");
- }
- }
-
- } catch (Exception ex) {
- snackbar.Add($"Redirect failed, because {ex.Message}", Severity.Error);
- navigationManager.NavigateTo("login");
- }
- }
-}
\ No newline at end of file
+@attribute [AllowAnonymous]
\ No newline at end of file
diff --git a/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor.cs b/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor.cs
new file mode 100644
index 0000000..80b6bdf
--- /dev/null
+++ b/MesaFabApproval.Client/Pages/AuthenticatedRedirect.razor.cs
@@ -0,0 +1,77 @@
+using MesaFabApproval.Client.Services;
+
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.WebUtilities;
+
+using MudBlazor;
+
+using System.Security.Claims;
+
+namespace MesaFabApproval.Client.Pages;
+
+public partial class AuthenticatedRedirect {
+ [Inject] MesaFabApprovalAuthStateProvider authStateProvider { get; set; }
+ [Inject] IAuthenticationService authService { get; set; }
+ [Inject] IUserService userService { get; set; }
+ [Inject] ISnackbar snackbar { get; set; }
+ [Inject] NavigationManager navigationManager { get; set; }
+
+ private string? _jwt;
+ private string? _refreshToken;
+ private string? _redirectPath;
+
+ protected override async Task OnParametersSetAsync() {
+ try {
+ Uri uri = navigationManager.ToAbsoluteUri(navigationManager.Uri);
+
+ if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("jwt", out var jwt)) {
+ _jwt = System.Net.WebUtility.UrlDecode(jwt);
+ }
+
+ if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("refreshToken", out var refreshToken)) {
+ _refreshToken = System.Net.WebUtility.UrlDecode(refreshToken);
+ }
+
+ if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("redirectPath", out var redirectPath)) {
+ _redirectPath = redirectPath.ToString();
+ }
+
+ if (!string.IsNullOrWhiteSpace(_jwt) && !string.IsNullOrWhiteSpace(_refreshToken)) {
+ await authService.SetTokens(_jwt, _refreshToken);
+
+ ClaimsPrincipal principal = authService.GetClaimsPrincipalFromJwt(_jwt);
+
+ string loginId = userService.GetLoginIdFromClaimsPrincipal(principal);
+
+ await authService.ClearCurrentUser();
+ await authService.ClearTokens();
+
+ await authService.SetLoginId(loginId);
+ await authService.SetTokens(_jwt, _refreshToken);
+ await authService.SetCurrentUser(null);
+
+ await authStateProvider.StateHasChanged(principal);
+ }
+
+ if (authStateProvider.CurrentUser is not null && !string.IsNullOrWhiteSpace(_redirectPath)) {
+ navigationManager.NavigateTo(_redirectPath);
+ } else {
+ await authStateProvider.Logout();
+
+ if (!string.IsNullOrWhiteSpace(_redirectPath)) {
+ navigationManager.NavigateTo($"login/{_redirectPath}");
+ } else {
+ navigationManager.NavigateTo("login");
+ }
+ }
+ } catch (Exception ex) {
+ await authStateProvider.Logout();
+
+ if (!string.IsNullOrWhiteSpace(_redirectPath)) {
+ navigationManager.NavigateTo($"login/{_redirectPath}");
+ } else {
+ navigationManager.NavigateTo("login");
+ }
+ }
+ }
+}
diff --git a/MesaFabApproval.Client/Pages/Dashboard.razor b/MesaFabApproval.Client/Pages/Dashboard.razor
index 6c831fb..ddd5c83 100644
--- a/MesaFabApproval.Client/Pages/Dashboard.razor
+++ b/MesaFabApproval.Client/Pages/Dashboard.razor
@@ -1,16 +1,5 @@
@page "/"
@page "/Dashboard"
-@inject IConfiguration Configuration
-@inject MesaFabApprovalAuthStateProvider stateProvider
-@inject IApprovalService approvalService
-@inject IMemoryCache cache
-@inject NavigationManager navigationManager
-@inject ISnackbar snackbar
-@inject IMRBService mrbService
-@inject IPCRBService pcrbService
-@inject IECNService ecnService
-@inject ICAService caService
-@inject IJSRuntime jsRuntime
Dashboard
@@ -226,138 +215,3 @@
-
-@code {
- private IEnumerable approvalList = new List();
- private IEnumerable myMRBs = new List();
- private IEnumerable myPCRBs = new List();
-
- private IEnumerable ecnNumbers = new HashSet();
- private IEnumerable caNumbers = new HashSet();
- private IEnumerable mrbNumbers = new HashSet();
- private IEnumerable pcrbNumbers = new HashSet();
-
- private bool myApprovalsProcessing = false;
- private bool myMrbsProcessing = false;
- private bool myPcrbsProcessing = false;
-
- private string mrbSearchString = "";
- private string pcrbSearchString = "";
-
- protected async override Task OnParametersSetAsync() {
- try {
- if (stateProvider.CurrentUser is not null) {
- myApprovalsProcessing = true;
- approvalList = (await approvalService.GetApprovalsForUserId(stateProvider.CurrentUser.UserID, true))
- .Where(a => a.CompletedDate > DateTime.Now && a.ItemStatus == 0)
- .ToList()
- .OrderByDescending(x => x.AssignedDate);
- myApprovalsProcessing = false;
-
- myMrbsProcessing = true;
- myMRBs = (await mrbService.GetAllMRBs(false)).Where(m => m.OriginatorID == stateProvider.CurrentUser.UserID)
- .ToList()
- .OrderByDescending(x => x.SubmittedDate);
- myMrbsProcessing = false;
-
- myPcrbsProcessing = true;
- myPCRBs = (await pcrbService.GetAllPCRBs(false)).Where(p => p.OwnerID == stateProvider.CurrentUser.UserID)
- .ToList()
- .OrderByDescending(p => p.InsertTimeStamp);
- myPcrbsProcessing = false;
- }
- } catch (Exception ex) {
- myApprovalsProcessing = false;
- myMrbsProcessing = false;
- myPcrbsProcessing = false;
- snackbar.Add($"Unable to load the dashboard, because {ex.Message}", Severity.Error);
- }
- }
-
- private async Task FollowLink(int issueId) {
- HashSet tasks = new();
-
- bool isEcn = false;
- bool isCa = false;
- bool isMrb = false;
- bool isPcrb = false;
- if (ecnNumbers.Contains(issueId))
- isEcn = true;
- if (caNumbers.Contains(issueId))
- isCa = true;
- if (mrbNumbers.Contains(issueId))
- isMrb = true;
- if (pcrbNumbers.Contains(issueId))
- isPcrb = true;
-
- if (!isEcn && !isCa && !isMrb) {
- Task isEcnTask = ecnService.ECNNumberIsValid(issueId);
- tasks.Add(isEcnTask);
-
- Task isCaTask = caService.CANumberIsValid(issueId);
- tasks.Add(isCaTask);
-
- Task isMrbTask = mrbService.NumberIsValid(issueId);
- tasks.Add(isMrbTask);
-
- Task isPcrbTask = pcrbService.IdIsValid(issueId);
- tasks.Add(isPcrbTask);
-
- await Task.WhenAll(tasks);
-
- if (isEcnTask.Result) {
- isEcn = true;
- } else if (isCaTask.Result) {
- isCa = true;
- } else if (isMrbTask.Result) {
- isMrb = true;
- } else if (isPcrbTask.Result) {
- isPcrb = true;
- }
- }
-
- if (isEcn) await GoToExternal($"{Configuration["OldFabApprovalUrl"]}/ECN/Edit?IssueID={issueId}", "");
- if (isCa) await GoToExternal($"{Configuration["OldFabApprovalUrl"]}/CorrectiveAction/Edit?IssueID={issueId}", "");
- if (isMrb) GoTo($"mrb/{issueId}");
- if (isPcrb) GoTo($"pcrb/{issueId}");
- }
-
- private void GoTo(string page) {
- cache.Set("redirectUrl", page);
- navigationManager.NavigateTo("/" + page);
- }
-
- private async Task GoToExternal(string url, string content) {
- IJSObjectReference windowModule = await jsRuntime.InvokeAsync("import", "./js/OpenInNewWindow.js");
- await windowModule.InvokeAsync