370 lines
16 KiB
C#
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
|
|
|
|
} |