This commit is contained in:
2025-05-28 13:34:48 -07:00
parent 65a433e9ab
commit 7eba0fa25a
87 changed files with 3775 additions and 1351 deletions

View File

@ -2,7 +2,9 @@
using ExcelDataReader;
#else
#endif
#if !NET8
using Excel;
@ -94,7 +96,9 @@ public class ExcelData {
public IEnumerable<DataRow> getData(bool firstRowIsColumnNames = true) =>
throw new NotImplementedException();
#else
#endif
#if !NET8
public IEnumerable<DataRow> getData(bool firstRowIsColumnNames = true) {
IExcelDataReader reader = getExcelReader();

View File

@ -6,10 +6,15 @@ namespace Fab2ApprovalSystem.Misc;
public class GlobalVars {
public int USER_ID;
#else
#endif
#if NET8
public static class GlobalVars {
public static int USER_ID = 0;
#endif
public const string SESSION_USERNAME = "UserName";
public const string ApplicationName = "LotDisposition";
@ -98,4 +103,268 @@ public static class GlobalVars {
Main, D1, D2, D3, D4, D5, D6, D7, D8, CF
}
#if !NET8
public static void EndSession(System.Web.SessionState.HttpSessionState session) {
session[SESSION_USERNAME] = "";
session[SESSION_USERID] = "";
session[IS_ADMIN] = null;
}
public static bool IsAdminValueNull(System.Web.SessionState.HttpSessionState session) =>
session[IS_ADMIN] == null;
public static bool IsUserIdValueNotNull(System.Web.SessionState.HttpSessionState session) =>
session[SESSION_USERID] != null;
public static bool IsAdminValueNotNull(System.Web.SessionState.HttpSessionState session) =>
session[IS_ADMIN] != null;
public static bool IsUserNameNull(System.Web.SessionState.HttpSessionState session) =>
session[SESSION_USERNAME] == null;
public static bool IsAdmin(System.Web.SessionState.HttpSessionState session) =>
bool.Parse(session[IS_ADMIN].ToString());
public static bool IsManager(System.Web.SessionState.HttpSessionState session) =>
bool.Parse(session[IS_MANAGER].ToString());
public static bool IsOOO(System.Web.SessionState.HttpSessionState session) =>
bool.Parse(session[OOO].ToString());
public static bool GetCreateNewRevision(System.Web.SessionState.HttpSessionState session) =>
bool.Parse(session["CreateNewRevision"].ToString());
public static bool GetCreateLotTravNewRevision(System.Web.SessionState.HttpSessionState session) =>
bool.Parse(session["CreateLotTravNewRevision"].ToString());
public static int GetUserId(System.Web.SessionState.HttpSessionState session) =>
int.Parse(GetUserIdValue(session));
public static string GetUserIdValue(System.Web.SessionState.HttpSessionState session) =>
session[SESSION_USERID].ToString();
public static string GetJWT(System.Web.SessionState.HttpSessionState session) =>
session["JWT"].ToString();
public static string GetRefreshToken(System.Web.SessionState.HttpSessionState session) =>
session["RefreshToken"].ToString();
public static string GetAllDocumentsFilterData(System.Web.SessionState.HttpSessionState session) =>
session["AllDocumentsFilterData"].ToString();
public static string GetSWRFilterData(System.Web.SessionState.HttpSessionState session) =>
session["SWRFilterData"].ToString();
public static string GetPCRBFilterData(System.Web.SessionState.HttpSessionState session) =>
session["PCRBFilterData"].ToString();
public static string GetUserName(System.Web.SessionState.HttpSessionState session) =>
session[SESSION_USERNAME].ToString();
public static bool GetCanCreatePartsRequest(System.Web.SessionState.HttpSessionState session) =>
bool.Parse(session[CAN_CREATE_PARTS_REQUEST].ToString());
public static void SetECNViewOption(System.Web.SessionState.HttpSessionState session, string value) =>
session[ECN_VIEW_OPTION] = value;
public static void SetCreateNewRevision(System.Web.SessionState.HttpSessionState session, bool value) =>
session["CreateNewRevision"] = value;
public static void SetSWRFilterData(System.Web.SessionState.HttpSessionState session, string value) =>
session["SWRFilterData"] = value;
public static void SetPCRBFilterData(System.Web.SessionState.HttpSessionState session, string value) =>
session["PCRBFilterData"] = value;
public static void SetAllDocumentsFilterData(System.Web.SessionState.HttpSessionState session, string value) =>
session["AllDocumentsFilterData"] = value;
public static void SetCreateLotTravNewRevision(System.Web.SessionState.HttpSessionState session, bool value) =>
session["CreateLotTravNewRevision"] = value;
public static void SetOOO(System.Web.SessionState.HttpSessionState session, bool value) =>
session[OOO] = value;
public static bool IsAdminValueNull(System.Web.HttpSessionStateBase session) =>
session[IS_ADMIN] == null;
public static bool IsUserIdValueNotNull(System.Web.HttpSessionStateBase session) =>
session[SESSION_USERID] != null;
public static bool IsAdminValueNotNull(System.Web.HttpSessionStateBase session) =>
session[IS_ADMIN] != null;
public static bool IsUserNameNull(System.Web.HttpSessionStateBase session) =>
session[SESSION_USERNAME] == null;
public static bool IsAdmin(System.Web.HttpSessionStateBase session) =>
bool.Parse(session[IS_ADMIN].ToString());
public static bool IsManager(System.Web.HttpSessionStateBase session) =>
bool.Parse(session[IS_MANAGER].ToString());
public static bool IsOOO(System.Web.HttpSessionStateBase session) =>
bool.Parse(session[OOO].ToString());
public static bool GetCreateNewRevision(System.Web.HttpSessionStateBase session) =>
bool.Parse(session["CreateNewRevision"].ToString());
public static bool GetCreateLotTravNewRevision(System.Web.HttpSessionStateBase session) =>
bool.Parse(session["CreateLotTravNewRevision"].ToString());
public static int GetUserId(System.Web.HttpSessionStateBase session) =>
int.Parse(GetUserIdValue(session));
public static string GetUserIdValue(System.Web.HttpSessionStateBase session) =>
session[SESSION_USERID].ToString();
public static string GetJWT(System.Web.HttpSessionStateBase session) =>
session["JWT"].ToString();
public static string GetRefreshToken(System.Web.HttpSessionStateBase session) =>
session["RefreshToken"].ToString();
public static string GetAllDocumentsFilterData(System.Web.HttpSessionStateBase session) =>
session["AllDocumentsFilterData"].ToString();
public static string GetSWRFilterData(System.Web.HttpSessionStateBase session) =>
session["SWRFilterData"].ToString();
public static string GetPCRBFilterData(System.Web.HttpSessionStateBase session) =>
session["PCRBFilterData"].ToString();
public static string GetUserName(System.Web.HttpSessionStateBase session) =>
session[SESSION_USERNAME].ToString();
public static bool GetCanCreatePartsRequest(System.Web.HttpSessionStateBase session) =>
bool.Parse(session[CAN_CREATE_PARTS_REQUEST].ToString());
public static void SetECNViewOption(System.Web.HttpSessionStateBase session, string value) =>
session[ECN_VIEW_OPTION] = value;
public static void SetCreateNewRevision(System.Web.HttpSessionStateBase session, bool value) =>
session["CreateNewRevision"] = value;
public static void SetSWRFilterData(System.Web.HttpSessionStateBase session, string value) =>
session["SWRFilterData"] = value;
public static void SetPCRBFilterData(System.Web.HttpSessionStateBase session, string value) =>
session["PCRBFilterData"] = value;
public static void SetAllDocumentsFilterData(System.Web.HttpSessionStateBase session, string value) =>
session["AllDocumentsFilterData"] = value;
public static void SetCreateLotTravNewRevision(System.Web.HttpSessionStateBase session, bool value) =>
session["CreateLotTravNewRevision"] = value;
public static void SetOOO(System.Web.HttpSessionStateBase session, bool value) =>
session[OOO] = value;
public static void SetSessionParameters(System.Web.HttpSessionStateBase session, LoginResult loginResult, LoginModel user) {
session["JWT"] = loginResult.AuthTokens.JwtToken;
session["RefreshToken"] = loginResult.AuthTokens.RefreshToken;
session[SESSION_USERID] = user.UserID;
session[SESSION_USERNAME] = user.FullName;
session[IS_ADMIN] = user.IsAdmin;
session[IS_MANAGER] = user.IsManager;
session[OOO] = user.OOO;
bool check = user.IsAdmin || Fab2ApprovalSystem.Controllers.PartsRequestController.CanCreatePartsRequest(user.UserID);
session[CAN_CREATE_PARTS_REQUEST] = check;
}
#endif
#if NET8
public static bool IsAdminValueNull(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.Get(session, IS_ADMIN) == null;
public static bool IsUserIdValueNotNull(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.Get(session, SESSION_USERID) != null;
public static bool IsAdminValueNotNull(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.Get(session, IS_ADMIN) != null;
public static bool IsUserNameNull(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.Get(session, SESSION_USERNAME) == null;
public static bool IsAdmin(Microsoft.AspNetCore.Http.ISession session) =>
bool.Parse(Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, IS_ADMIN));
public static bool IsManager(Microsoft.AspNetCore.Http.ISession session) =>
bool.Parse(Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, IS_MANAGER));
public static bool IsOOO(Microsoft.AspNetCore.Http.ISession session) =>
bool.Parse(Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, OOO));
public static bool GetCreateNewRevision(Microsoft.AspNetCore.Http.ISession session) =>
bool.Parse(Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "CreateNewRevision"));
public static bool GetCreateLotTravNewRevision(Microsoft.AspNetCore.Http.ISession session) =>
bool.Parse(Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "CreateLotTravNewRevision"));
public static int GetUserId(Microsoft.AspNetCore.Http.ISession session) =>
int.Parse(GetUserIdValue(session));
public static string GetUserIdValue(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, SESSION_USERID);
public static string GetJWT(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "JWT");
public static string GetRefreshToken(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "RefreshToken");
public static string GetAllDocumentsFilterData(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "AllDocumentsFilterData");
public static string GetSWRFilterData(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "SWRFilterData");
public static string GetPCRBFilterData(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, "PCRBFilterData");
public static string GetUserName(Microsoft.AspNetCore.Http.ISession session) =>
Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, SESSION_USERNAME);
public static bool GetCanCreatePartsRequest(Microsoft.AspNetCore.Http.ISession session) =>
bool.Parse(Microsoft.AspNetCore.Http.SessionExtensions.GetString(session, CAN_CREATE_PARTS_REQUEST));
public static void SetECNViewOption(Microsoft.AspNetCore.Http.ISession session, string value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, ECN_VIEW_OPTION, value);
public static void SetSWRFilterData(Microsoft.AspNetCore.Http.ISession session, string value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "SWRFilterData", value);
public static void SetPCRBFilterData(Microsoft.AspNetCore.Http.ISession session, string value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "PCRBFilterData", value);
public static void SetAllDocumentsFilterData(Microsoft.AspNetCore.Http.ISession session, string value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "AllDocumentsFilterData", value);
public static void SetCreateNewRevision(Microsoft.AspNetCore.Http.ISession session, bool value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "CreateNewRevision", value.ToString());
public static void SetCreateLotTravNewRevision(Microsoft.AspNetCore.Http.ISession session, bool value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "CreateLotTravNewRevision", value.ToString());
public static void SetOOO(Microsoft.AspNetCore.Http.ISession session, bool value) =>
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, OOO, value.ToString());
public static void SetSessionParameters(Microsoft.AspNetCore.Http.ISession session, LoginResult loginResult, LoginModel user) {
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "JWT", loginResult.AuthTokens.JwtToken);
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, "RefreshToken", loginResult.AuthTokens.RefreshToken);
Microsoft.AspNetCore.Http.SessionExtensions.SetInt32(session, SESSION_USERID, user.UserID);
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, SESSION_USERNAME, user.FullName);
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, IS_ADMIN, user.IsAdmin.ToString());
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, IS_MANAGER, user.IsManager.ToString());
Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, OOO, user.OOO.ToString());
// bool check = user.IsAdmin || Fab2ApprovalSystem.Controllers.PartsRequestController.CanCreatePartsRequest(user.UserID);
// Microsoft.AspNetCore.Http.SessionExtensions.SetString(session, CAN_CREATE_PARTS_REQUEST, check.ToString());
}
#endif
}

View File

@ -4,7 +4,9 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
#if !NET8
using System.Web.Mvc;
#endif
namespace Fab2ApprovalSystem.Misc {
@ -16,7 +18,7 @@ namespace Fab2ApprovalSystem.Misc {
// check if session is supported
if (session[GlobalVars.SESSION_USERNAME] == null) {
if (GlobalVars.IsUserNameNull(session)) {
// check if a new session id was generated
// this will force MVC to use the standard login redirect, enabling ReturnURL functionality