public TCoreUsers() { _tcoreUserObject = new TCoreUsersObject(); _databaseOperations = new DatabaseOps(); _resultTable = new DataTable(); _tcoreUserObjectList = new List <TCoreDeptUnit>(); _vRTNUserDeptRoleForQbObjects = new List <VRTNUserDeptRoleForQbObject>(); }
public string AppUserRole(TCoreUsersObject userobj) { var sqlText = "select a.role_name from t_application_roles a inner join t_app_user_role b on a.role_id = b.role_id inner join t_core_users c on b.user_id = c.app_user_id where c.user_name = @user_name"; using (SqlCommand command = new SqlCommand(sqlText, DatabaseOps.OpenSqlConnection())) { command.Parameters.AddWithValue("@user_name", userobj.user_name); RealData = _databaseOperations.GetData(command); if (string.IsNullOrWhiteSpace(RealData)) { RealData = string.Empty; } else { return(RealData); } } return(RealData); }
public string UserInst(TCoreUsersObject username) { string data = null; var sqlText = $@"select user_inst from t_core_users where user_name = @user_name and is_regulator = 1"; using (SqlCommand command = new SqlCommand(sqlText, DatabaseOps.OpenSqlConnection())) { command.Parameters.AddWithValue("@user_name", username.user_name); data = _databaseOperations.GetData(command); if (string.IsNullOrWhiteSpace(data)) { data = string.Empty; } else { return(data); } } return(data); }
public int ConfirmEmail(TCoreUsersObject appuserid, bool enable) { if (appuserid == null) { throw new ArgumentNullException("User object - User ID is required"); } try { var sqlText = $@"update t_application_users set emailconfirmed = {(enable == true ? 1 : 0)} where userid = @app_user_id"; using (SqlCommand command = new SqlCommand(sqlText, DatabaseOps.OpenSqlConnection())) { command.Parameters.AddWithValue("@app_user_id", appuserid.app_user_id); rowsAffected = _databaseOperations.ExecuteNonQuery(command); return(rowsAffected); } } catch (Exception ex) { throw ex; } }
public DataTable GetAllUser(TCoreUsersObject username) { if (username == null || username.user_name.Length < 1) { throw new ArgumentException("TCoreUsers username is required"); } try { var sqlText = @"SELECT a.app_user_id AS 'Application User ID', a.user_name AS 'Username', a.last_name AS 'Last Name', a.first_name AS 'First Name', a.middle_name AS 'Middle Name', a.email AS 'Email Address', CASE WHEN a.is_active = 1 THEN 'Active' WHEN a.is_active = 0 THEN 'Not Active' ELSE 'Not Set' END AS 'Is Active', CASE WHEN b.EmailConfirmed = 1 THEN 'Confirmed' WHEN b.EmailConfirmed = 0 THEN 'Not Confirmed' ELSE 'Not Set' END AS 'Email Confirmation', CASE WHEN b.TwoFactorEnabled = 0 THEN 'Disabled' WHEN b.TwoFactorEnabled = 1 THEN 'Enable' ELSE 'Not Set' End AS 'Two Factor Authentication', CASE WHEN b.LockoutEnabled = 1 THEN 'Enable' WHEN b.LockoutEnabled = 0 THEN 'Disabled' ELSE 'Not Set' END AS 'Lock Out Enabled' FROM t_core_users a INNER JOIN t_application_users b ON a.user_name = b.UserName WHERE a.user_name != @username"; using (SqlCommand command = new SqlCommand(sqlText, DatabaseOps.OpenSqlConnection())) { command.Parameters.AddWithValue("@username", username.user_name); _resultTable = _databaseOperations.GetDataTable(command); return(_resultTable); } } catch (Exception ex) { throw ex; } }
public int SetTwoFactor(TCoreUsersObject appuserid, bool enable) { if (appuserid == null) { throw new ArgumentNullException("User object - User ID is required"); } try { int value = (enable == true) ? 1 : 0; var sqlText = $@"update t_application_users set TwoFactorEnabled = @twofactorenable where UserId = @userid"; using (SqlCommand command = new SqlCommand(sqlText, DatabaseOps.OpenSqlConnection())) { command.Parameters.AddWithValue("@twofactorenable", value); command.Parameters.AddWithValue("@userid", appuserid.app_user_id); rowsAffected = _databaseOperations.ExecuteNonQuery(command); return(rowsAffected); } } catch (Exception ex) { throw ex; } }
protected void Page_Load(object sender, EventArgs e) { try { if (!Page.IsPostBack) { if (base.Error.Count > 0) { divAlert.Visible = true; lblErrorMsg.Text = base.Error[0]; return; } _helicaInstallationPath = SharedConst.HELICA_INSTALLATION_PATH ?? null; if (_helicaInstallationPath == null || _helicaInstallationPath.Length < 1) { divAlert.Visible = true; lblErrorMsg.Text = "Cant load the query builder! please contact system administrator"; } } //Get the user name of the currently logged in user and decrypt it and the UseDefault property value currentUser = Request.QueryString[SharedConst.QUERY_STRING_USER_NAME] ?? null; if (!String.IsNullOrWhiteSpace(currentUser)) { currentUser = Request.QueryString[SharedConst.QUERY_STRING_USER_NAME]; _useDefault = Request.QueryString["usedefault"] ?? null; //Get the users role and company i.e user institution var user = new TCoreUsersObject() { user_name = currentUser }; List <VRTNUserDeptRoleForQbObject> units = _tCoreUser.Roles(user); if (units == null || units.Count < 1) { //_stringToencrypt = $"username={currentUser}|role={_defaultRole}|company={_companyName}"; _stringToencrypt = $"username={currentUser}|role={SharedConst.HELICA_DEFAULT_ROLENAME}"; } else { foreach (var unit in units) { if (_defaultRole == "") { _defaultRole = $"{unit.role_name}"; } else { _defaultRole = $"{_defaultRole},{unit.role_name}"; } } _stringToencrypt = $"username={currentUser}|role={_defaultRole.TrimEnd(',')}"; } //if (_useDefault == null || _useDefault.Length < 1) //{ // //_stringToencrypt = $"username={currentUser}|role={_defaultRole}|company={_companyName}"; // //_stringToencrypt = $"username={currentUser}|role={SharedConst.HELICA_DEFAULT_ROLENAME}"; //} //if (_useDefault.Equals("true") == true) //{ //} //else // return; } else { divAlert.Visible = true; this.lblErrorMsg.Text = "Username can't be decoded or helica insight cant be found! please contact the administrator"; this.qbNew.Disabled = true; return; } //The aes cryptographic key if (SharedConst.HELICA_DEFAULT_CYPHER_KEY != null && SharedConst.HELICA_DEFAULT_CYPHER_KEY.Length > 0) { //Encrypt the currently logged-in username using aes encryption var encToken = AESEncryptionUtil.EncryptTextToBase64String(_stringToencrypt, SharedConst.HELICA_DEFAULT_CYPHER_KEY); //Transform the encrypted string to a URL safe string _urlSafeencToken = encToken.TrimEnd('=').Replace('+', '-').Replace('/', '_'); var helicaUrlStringBuilder = $"{_helicaInstallationPath}?authToken={_urlSafeencToken}"; lblerror.Text = helicaUrlStringBuilder; this.qbNew.HRef = helicaUrlStringBuilder; Response.Redirect(helicaUrlStringBuilder, false); //ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", $"loadTab({_helicaInstallationPath})", true); } } catch (Exception ex) { LogUtitlity.LogToText(SharedConst.Ad_HOC_LOG_PATH, ex.ToString()); } }
public static object HelicaRun(string username) { var response = new ResponseHandler(); TCoreUsers _tCoreUser = new TCoreUsers(); string _stringToencrypt = string.Empty; try { string _helicaInstallationPath = ConfigurationManager.AppSettings["HelicaInstallPath"]; if (_helicaInstallationPath == null || _helicaInstallationPath.Length < 1) { response.Status = 0; response.Message = "Cant load the query builder/BI tool! please contact system administrator"; return(response); } //Get the user name of the currently logged in user and decrypt it and the UseDefault property value //string currentUser = username; if (!String.IsNullOrWhiteSpace(username)) { string _useCompany = (string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["company"])) ? "CBN_NDIC" : ConfigurationManager.AppSettings["company"]; //Get the users role and company i.e user institution var user = new TCoreUsersObject() { user_name = username }; List <VRTNUserDeptRoleForQbObject> units = _tCoreUser.Roles(user); if (units == null || units.Count < 1) { //if current user doesn't belong to a role //Assign a deault role ROLE_USER to the role parameter on helica insight _stringToencrypt = $"username={username}|role={SharedConst.HELICA_DEFAULT_ROLENAME}"; } else { string _roles = ""; foreach (var unit in units) { if (_roles == "") { _roles = $"{unit.role_name}"; } else { _roles = $"{_roles},{unit.role_name}"; } } _stringToencrypt = $"username={username}|role={_roles.TrimEnd(',')}"; if (_useCompany != null) { //Get the user company name if it exists - example CBN or NDIC //and modify the helica SSO string accordingly if (!string.IsNullOrWhiteSpace(_tCoreUser.UserInst(username))) { _stringToencrypt = $"username={username}|role={_roles.TrimEnd(',')}|company={_useCompany}"; } } } } else { response.Status = 0; response.Message = "Username cant be empty"; return(response); } //Check if the encryption key is available for use //else throw and log an error - encryption key not available if (SharedConst.HELICA_DEFAULT_CYPHER_KEY != null && SharedConst.HELICA_DEFAULT_CYPHER_KEY.Length > 0) { //Encrypt the currently logged-in username using aes encryption var encToken = AESEncryptionUtil.EncryptTextToBase64String(_stringToencrypt, SharedConst.HELICA_DEFAULT_CYPHER_KEY); //Transform the encrypted string to a URL safe string string _urlSafeencToken = encToken.TrimEnd('=').Replace('+', '-').Replace('/', '_'); var helicaUrlStringBuilder = $"{_helicaInstallationPath}?authToken={_urlSafeencToken}"; response.Status = 1; response.Message = helicaUrlStringBuilder; return(response); } else { LogUtitlity.LogToText("The encryption key cant be located"); } } catch (Exception ex) { LogUtitlity.LogToText(ex.ToString()); } return(response); }
public List <TDbQueryGroupObject> QueryGroupName(TCoreUsersObject username) { _tDbQueryGroupObjList = QueryGroupName(username.user_name); return(_tDbQueryGroupObjList); }
public string Get(TCoreUsersObject username) { return(Get(username.user_name)); }
public List <VRTNUserDeptRoleForQbObject> Roles(TCoreUsersObject username) { _vRTNUserDeptRoleForQbObjects = Roles(username.user_name); return(_vRTNUserDeptRoleForQbObjects); }
public List <TCoreDeptUnit> Units(TCoreUsersObject username) { _tcoreUserObjectList = Units(username.user_name); return(_tcoreUserObjectList); }
/// <summary> /// Get the institution the currently logged in user belongs to - i.e CBN or NDIC /// </summary> /// <param name="username"></param> /// <returns></returns> public string UserInst(TCoreUsersObject username) { string data = UserInst(username.user_name); return(data); }