using Fab2ApprovalSystem.Models; namespace Fab2ApprovalSystem.Misc; #if !NET8 public class GlobalVars { public int USER_ID; #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"; public const string SESSION_USERID = "UserID"; public const string ECN_VIEW_OPTION = "ECN_ViewOption"; public const string IS_ADMIN = "IsAdmin"; public const string IS_MANAGER = "IsManager"; public const string OOO = "OOO"; public const string SUCCESS = "Success"; public const string CAN_CREATE_PARTS_REQUEST = "CanCreatePartsRequest"; public const string LOT_NO = "LotNo"; public const string LOCATION = "Location"; public static AppSettings? AppSettings = null; public static bool USER_ISADMIN = false; public static bool IS_INFINEON_DOMAIN = false; public static string hostURL = ""; public static string DBConnection = "TEST"; public static string DB_CONNECTION_STRING = ""; public static string AttachmentUrl = ""; public static string NDriveURL = ""; public static string WSR_URL = ""; public static string CA_BlankFormsLocation = ""; public static string SENDER_EMAIL = "MesaFabApproval@infineon.com"; public static string MesaTemplateFiles = "D:\\WebSites\\FabApprovalAttachments\\Template5Why"; public enum LotStatusOption { Release = 1, Scrap, NotAvailable, M_Suffix, Select_Wafers, CloseToQDB, SplitOffHold } public enum ApprovalOption { Pending = 0, Approved = 1, Denied = 2, Waiting = 3, // waiting on other approver to approve first Skipped = 4, // set to this state if the original approval is no longer needed. ReAssigned = 5, // set to this state if current approver got reassigned Terminated = 6, // future use Closed = 7, Recalled = 8 } public enum WorkFLowStepNumber { Step1 = 1, Step2, Step3 } public enum DocumentType { LotDisposition = 1, MRB = 2, ECN = 3, EECN = 4, TECNCancelledExpired = 5, LotTraveler = 6, ChangeControl = 7, Audit = 8, CorrectiveAction = 9, PartsRequest = 10, CorrectiveActionSection = 12 } public enum TECNExpirationCancellation { Cancellation = 1, Expiration = 2 } public enum Colors { None = 0, Red = 1, Green = 2, Blue = 4 }; public enum NotificationType { WorkRequest = 1, LotTraveler = 2 } public enum CASection { 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 }