2025-05-28 13:34:48 -07:00

370 lines
16 KiB
C#

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
}