DataTable IDFunction.GetMenuOrder(MFunctionProfile Profile) { string mStoreProcedure = "ZGWSecurity.Get_Function_Sort"; SqlParameter[] mParameters = { new SqlParameter("@P_Function_SeqID", Profile.Id) }; return(base.GetDataTable(mStoreProcedure, mParameters)); }
protected void Page_Load(object sender, EventArgs e) { MFunctionProfile mFunctionProfile = FunctionUtility.CurrentProfile(); String mScript = "<script type='text/javascript' language='javascript'>GW.FileManager.currentDirectory = '/'; GW.FileManager.currentFunctionSeqID=" + mFunctionProfile.Id.ToString() + "</script>"; Page.ClientScript.RegisterStartupScript(this.GetType(), "", mScript); }
/// <summary> /// Saves the specified profile. /// </summary> /// <param name="profile">The profile.</param> /// <param name="saveGroups">if set to <c>true</c> [save groups].</param> /// <param name="saveRoles">if set to <c>true</c> [save roles].</param> /// <returns>System.Int32.</returns> public int Save(MFunctionProfile profile, bool saveGroups, bool saveRoles) { if (profile == null) { throw new ArgumentNullException("profile", "profile cannot be a null reference (Nothing in Visual Basic)!!"); } if (DatabaseIsOnline()) { m_DFunctions.Profile = profile; profile.Id = m_DFunctions.Save(); m_DFunctions.Profile = profile; if (saveGroups) { m_DFunctions.SaveGroups(PermissionType.Add); m_DFunctions.SaveGroups(PermissionType.Delete); m_DFunctions.SaveGroups(PermissionType.Edit); m_DFunctions.SaveGroups(PermissionType.View); } if (saveRoles) { m_DFunctions.SaveRoles(PermissionType.Add); m_DFunctions.SaveRoles(PermissionType.Delete); m_DFunctions.SaveRoles(PermissionType.Edit); m_DFunctions.SaveRoles(PermissionType.View); } } return(profile.Id); }
/// <summary> /// Moves the menu order. /// </summary> /// <param name="profile">The profile.</param> /// <param name="direction">The direction.</param> public void MoveMenuOrder(MFunctionProfile profile, DirectionType direction) { if (DatabaseIsOnline()) { m_DFunctions.UpdateMenuOrder(profile, direction); } }
/// <summary> /// Gets the menu order. /// </summary> /// <param name="profile">The profile.</param> /// <returns>DataTable.</returns> public DataTable GetMenuOrder(MFunctionProfile profile) { DataTable mRetVal = null; if (DatabaseIsOnline()) { mRetVal = m_DFunctions.GetMenuOrder(profile); } return(mRetVal); }
/// <summary> /// Handles the PreInit event of the Page control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void Page_PreInit(object sender, EventArgs e) { base.OnInit(e); MFunctionProfile mFunction = FunctionUtility.CurrentProfile(); if (mFunction != null) { this.EnableViewState = mFunction.EnableViewState; } }
protected void Page_Load(object sender, EventArgs e) { string mAction = GWWebHelper.GetQueryValue(Request, "action"); if (!String.IsNullOrEmpty(mAction)) { MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); MSecurityInfo mSecurityInfo = new MSecurityInfo(mFunctionProfile, AccountUtility.CurrentProfile()); SearchControl.ShowAddLink = mSecurityInfo.MayAdd; } }
/// <summary> /// Moves the specified profiles menu order. /// </summary> /// <param name="profile">The profile.</param> /// <param name="direction">The direction.</param> /// <param name="updatedBy">The updated by.</param> /// <param name="updatedDate">Up dated date.</param> public static void Move(MFunctionProfile profile, DirectionType direction, int updatedBy, DateTime updatedDate) { if (profile == null) { throw new ArgumentNullException("profile", "profile cannot be a null reference (Nothing in Visual Basic)!!"); } profile.UpdatedBy = updatedBy; profile.UpdatedDate = updatedDate; BFunctions mBAppFunctions = new BFunctions(SecurityEntityUtility.CurrentProfile(), ConfigSettings.CentralManagement); mBAppFunctions.MoveMenuOrder(profile, direction); RemoveCachedFunctions(); }
void IDFunction.UpdateMenuOrder(MFunctionProfile profile, DirectionType direction) { string mStoreProcedure = "ZGWSecurity.Set_Function_Sort"; SqlParameter[] mParameters = { new SqlParameter("@P_Function_SeqID", profile.Id), new SqlParameter("@P_Direction", direction), new SqlParameter("@P_Added_Updated_By", GetAddedUpdatedBy(profile)), GetSqlParameter("@P_Primary_Key", "", ParameterDirection.Output) }; base.ExecuteNonQuery(mStoreProcedure, mParameters); }
/// <summary> /// Returns a collection of MFunctionProfile objects for the given /// security entity. /// </summary> /// <param name="securityEntitySeqId">Integer</param> /// <returns>Collection(of MFunctionProfile)</returns> /// <remarks></remarks> public Collection <MFunctionProfile> GetFunctions(int securityEntitySeqId) { Collection <MFunctionProfile> mRetVal = new Collection <MFunctionProfile>(); DataSet mDSFunctions = null; if (DatabaseIsOnline()) { try { m_DFunctions.Profile = new MFunctionProfile(); m_DFunctions.SecurityEntitySeqId = securityEntitySeqId; mDSFunctions = m_DFunctions.GetFunctions; bool mHasAssingedRoles = false; bool mHasGroups = false; if (mDSFunctions.Tables[1].Rows.Count > 0) { mHasAssingedRoles = true; } if (mDSFunctions.Tables[2].Rows.Count > 0) { mHasGroups = true; } DataRow[] mGroups = null; DataRow[] mAssignedRoles = null; DataRow[] mDerivedRoles = null; foreach (DataRow item in mDSFunctions.Tables["Functions"].Rows) { mDerivedRoles = item.GetChildRows("DerivedRoles"); mAssignedRoles = null; if (mHasAssingedRoles) { mAssignedRoles = item.GetChildRows("AssignedRoles"); } mGroups = null; if (mHasGroups) { mGroups = item.GetChildRows("Groups"); } MFunctionProfile mProfile = new MFunctionProfile(item, mDerivedRoles, mAssignedRoles, mGroups); mRetVal.Add(mProfile); } } catch (Exception) { throw; } } return(mRetVal); }
protected void Page_Init(object sender, EventArgs e) { string mAction = GWWebHelper.GetQueryValue(Request, "action"); if (!String.IsNullOrEmpty(mAction)) { MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); MSecurityInfo mSecurityInfo = new MSecurityInfo(mFunctionProfile, AccountUtility.CurrentProfile()); if (!mSecurityInfo.MayDelete) { searchResults.Columns.RemoveAt(1); } } }
protected void Page_Init(Object sender, EventArgs e) { string mAction = "Search_Functions"; if (!String.IsNullOrEmpty(mAction)) { MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); m_SecurityInfo = new MSecurityInfo(mFunctionProfile, AccountUtility.CurrentProfile()); if (!m_SecurityInfo.MayEdit) { searchResults.Columns.RemoveAt(0); } m_ShowDeleteLink = m_SecurityInfo.MayDelete; } }
protected void Page_Load(object sender, EventArgs e) { SearchControl.ShowAddLink = false; MDirectoryProfile mDirectoryProfile = DirectoryUtility.GetProfile(FunctionUtility.CurrentProfile().Id); String mLinks = FileUtility.GetDirectoryLinks("/", mDirectoryProfile.FunctionSeqId); directorySelector.InnerHtml = mLinks; MFunctionProfile mFunctionProfile = FunctionUtility.CurrentProfile(); MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); MSecurityInfo mSI = new MSecurityInfo(mFunctionProfile, mAccountProfile); UploadControl.Visible = mSI.MayAdd; tdNewDirectory.Visible = mSI.MayAdd; SearchControl.ShowDeleteAll = mSI.MayDelete; SearchControl.ShowSelect = mSI.MayDelete; }
protected void Page_Load(object sender, EventArgs e) { String mAction = ClientChoicesState[MClientChoices.Action]; MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); MSecurityInfo mSecurityInfo = new MSecurityInfo(mFunctionProfile, mAccountProfile); if (mSecurityInfo.MayView) { String mScript = "<script type='text/javascript' language='javascript'>window.location.hash = '?Action=" + mAction + "'</script>"; Page.ClientScript.RegisterStartupScript(this.GetType(), "", mScript); } else { Response.Write("Your favorite is not available. Please ensure that you have chosen the correct " + ConfigSettings.SecurityEntityTranslation); } }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(HttpContext.Current.Request.QueryString["FunctionSeqID"])) { int mFunctionSeqID = int.Parse((HttpContext.Current.Request.QueryString["FunctionSeqID"]).ToString()); if (mFunctionSeqID != -1) { m_Profile = FunctionUtility.GetProfile(mFunctionSeqID); } else { m_Profile = new MFunctionProfile(); } HttpContext.Current.Session.Add("EditId", m_Profile.Id); populatePage(); } }
/// <summary> /// Get a single function given it's id. /// </summary> /// <param name="id">int or Integer</param> /// <returns>MFunctionProfile</returns> /// <remarks>Returns null object if not found</remarks> public static MFunctionProfile GetProfile(int id) { var mResult = from mProfile in Functions() where mProfile.Id == id select mProfile; MFunctionProfile mRetVal = null; try { mRetVal = mResult.First(); } catch (NullReferenceException) { mRetVal = null; } return(mRetVal); }
/// <summary> /// Saves the specified profile. /// </summary> /// <param name="profile">The profile.</param> /// <param name="saveGroups">if set to <c>true</c> [save groups].</param> /// <param name="saveRoles">if set to <c>true</c> [save roles].</param> public static void Save(MFunctionProfile profile, bool saveGroups, bool saveRoles) { BFunctions mBAppFunctions = new BFunctions(SecurityEntityUtility.CurrentProfile(), ConfigSettings.CentralManagement); try { mBAppFunctions.Save(profile, saveGroups, saveRoles); } catch (DataAccessLayerException ex) { Logger mLog = Logger.Instance(); mLog.Error(ex); } finally { RemoveCachedFunctions(); } }
public bool MoveMenu(int functionSeqId, string direction) { bool mRetVal = false; MFunctionProfile mProfile = FunctionUtility.GetProfile(functionSeqId); MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); DirectionType mDirection; Enum.TryParse(direction, out mDirection); if (direction == "up") { FunctionUtility.Move(mProfile, DirectionType.Up, mAccountProfile.Id, DateTime.Now); } else { FunctionUtility.Move(mProfile, DirectionType.Down, mAccountProfile.Id, DateTime.Now); } return(mRetVal); }
public List <UIFunctionMenuOrder> GetFunctionOrder([FromUri()] int functionSeqId) { List <UIFunctionMenuOrder> mRetVal = new List <UIFunctionMenuOrder>(); if (functionSeqId > 0) { MFunctionProfile profile = FunctionUtility.GetProfile(functionSeqId); DataView myDataView = FunctionUtility.GetFunctionMenuOrder(profile).DefaultView; foreach (DataRowView mRow in myDataView) { UIFunctionMenuOrder mItem = new UIFunctionMenuOrder(); mItem.Function_Seq_Id = mRow["Function_Seq_Id"].ToString(); mItem.Name = mRow["Name"].ToString(); mItem.Action = mRow["Action"].ToString(); mRetVal.Add(mItem); } } return(mRetVal); }
/// <summary> /// Get a single function given it's action. /// </summary> /// <param name="action">String</param> /// <returns>MFunctionProfile</returns> /// <remarks>Returns null object if not found</remarks> public static MFunctionProfile GetProfile(String action) { MFunctionProfile mRetVal = null; if (!string.IsNullOrEmpty(action)) { var mResult = from mProfile in Functions() where mProfile.Action.ToLower(CultureInfo.CurrentCulture) == action.ToLower(CultureInfo.CurrentCulture) select mProfile; mRetVal = new MFunctionProfile(); try { mRetVal = mResult.First(); } catch (InvalidOperationException) { mRetVal = null; } } return(mRetVal); }
/// <summary> /// Binds the data. /// </summary> /// <param name="searchCriteria">The search criteria.</param> private void bindData(MSearchCriteria searchCriteria) { try { HttpServerUtility mServer = Server; string mAction = GWWebHelper.GetQueryValue(HttpContext.Current.Request, "Action"); MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); m_DirectoryProfile = DirectoryUtility.GetProfileByFunction(mFunctionProfile.Id); string mDirectoryPath = m_DirectoryProfile.Directory + m_CurrentDirectory; DataTable mDataTable = FileUtility.GetDirectoryTableData(mDirectoryPath, m_DirectoryProfile, false); SortTable mSorter = new SortTable(); string mColName = searchCriteria.OrderByColumn; mSorter.Sort(mDataTable, mColName, searchCriteria.OrderByDirection); DataView mView = mDataTable.DefaultView; mView.Sort = "type desc"; mDataTable = DataHelper.GetTable(ref mView); //mDataTable = DataHelper.GetPageOfData(ref mDataTable, ref searchCriteria); string mSort = "type desc, " + searchCriteria.OrderByColumn + " " + searchCriteria.OrderByDirection; mDataTable = DataHelper.GetPageOfData(ref mDataTable, mSort, searchCriteria); if (mDataTable != null && mDataTable.Rows.Count > 0) { DataView mDataView = mDataTable.DefaultView; recordsReturned.Value = mDataTable.Rows[0][DataHelper.TotalRowColumnName].ToString(); searchResults.DataSource = mDataTable; searchResults.DataBind(); } else { noResults.Visible = true; } } catch (DirectoryNotFoundException) { litErrorMSG.Visible = true; litErrorMSG.Text = "The Directory has not been setup or is unavalible."; } }
/// <summary> /// Sets the current function. /// </summary> /// <param name="profile">The profile.</param> public static void SetCurrentProfile(MFunctionProfile profile) { HttpContext.Current.Items[s_FunctionProfileInfoName] = profile; }
//http://osman.it/aspnet/jquery-ajax-file-upload/ public void ProcessRequest(HttpContext context) { string mResponse = "Success"; try { string mAction = GWWebHelper.GetQueryValue(context.Request, "Action"); string mCurrentDirectory = GWWebHelper.GetQueryValue(context.Request, "CurrentDirectory"); MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); MDirectoryProfile mDirectoryInfo = DirectoryUtility.GetProfileByFunction(mFunctionProfile.Id); string mDirectory = mDirectoryInfo.Directory; if (!string.IsNullOrEmpty(mCurrentDirectory)) { if (mDirectory.LastIndexOf(Path.DirectorySeparatorChar) != mDirectory.Length) { mDirectory += Path.DirectorySeparatorChar + mCurrentDirectory; } } string mUploadDirectory = ""; try { mUploadDirectory = context.Request.Files.AllKeys[0].ToString().Substring(0, context.Request.Files.AllKeys[0].LastIndexOf(".")); } catch (Exception) { mUploadDirectory = context.Request["fileName"].ToString(); mUploadDirectory = mUploadDirectory.Substring(0, mUploadDirectory.LastIndexOf(".")); mUploadDirectory = Path.DirectorySeparatorChar + mUploadDirectory; } if (!Directory.Exists(mUploadDirectory)) { FileUtility.CreateDirectory(mDirectory, mUploadDirectory, mDirectoryInfo); } mUploadDirectory = mDirectory + Path.DirectorySeparatorChar + mUploadDirectory; if (context.Request["completed"] == null) { if (mDirectoryInfo != null) { FileUtility.DoUpload(context.Request.Files.AllKeys[0], context.Request.Files[0], mUploadDirectory, mDirectoryInfo); if (context.Request["single"] != null) { string mFileName = context.Request.Files[0].FileName; string mNewpath = Path.Combine(mUploadDirectory, mFileName); FileUtility.RenameFile(mNewpath, mDirectory + mFileName, mDirectoryInfo); FileUtility.DeleteDirectory(mUploadDirectory, mDirectoryInfo); } } } else { if (context.Request["completed"].ToString().ToLowerInvariant() == "true") { string mFileName = context.Request["fileName"].ToString(); string mPath = mUploadDirectory; string mNewpath = Path.Combine(mPath, mFileName); char mDirectorySeparatorChar = Path.DirectorySeparatorChar; if (mDirectoryInfo != null) { DataTable mFileTable = FileUtility.GetDirectoryTableData(mUploadDirectory, mDirectoryInfo, true); SortTable mSorter = new Framework.Common.SortTable(); String mColName = "Name"; mSorter.Sort(mFileTable, mColName, "ASC"); DataView mFiles = mFileTable.DefaultView; mFiles.RowFilter = "Name like '" + mFileName.Substring(0, mFileName.Length - 4) + "%'"; foreach (DataRowView rowView in mFiles) { DataRow row = rowView.Row; string mPartialFileName = mUploadDirectory + mDirectorySeparatorChar.ToString() + row["Name"].ToString(); if (mPartialFileName.EndsWith("_UploadNumber_1")) { if (File.Exists(mNewpath)) { File.Delete(mNewpath); } } if (mPartialFileName != mNewpath) { mergeFiles(mNewpath, mPartialFileName); } } FileUtility.RenameFile(mNewpath, mDirectory + mFileName, mDirectoryInfo); FileUtility.DeleteDirectory(mUploadDirectory, mDirectoryInfo); } } } } catch (Exception ex) { Logger mLog = Logger.Instance(); mLog.Error(ex); mResponse = "Error"; } context.Response.ContentType = "text/plain"; context.Response.Write(mResponse); }
public IHttpActionResult Save(UIFunctionProfile uiProfile) { if (uiProfile == null) { throw new ArgumentNullException("uiProfile", "uiProfile cannot be a null reference (Nothing in Visual Basic)!"); } string mRetVal = "false"; MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditFunction", true)), AccountUtility.CurrentProfile()); Logger mLog = Logger.Instance(); if (HttpContext.Current.Items["EditId"] != null) { int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); if (mEditId == uiProfile.Id) { MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); MFunctionProfile profile = new MFunctionProfile(); MDirectoryProfile directoryProfile = new MDirectoryProfile(); if (uiProfile.Id != -1) { if (!mSecurityInfo.MayEdit) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to edit"); mLog.Error(mError); return(this.InternalServerError(mError)); } profile = FunctionUtility.GetProfile(uiProfile.Id); profile.UpdatedBy = mAccountProfile.Id; profile.UpdatedDate = DateTime.Now; } else { if (!mSecurityInfo.MayAdd) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } profile.AddedBy = mAccountProfile.Id; profile.AddedDate = DateTime.Now; } string viewCommaRoles = String.Join(",", uiProfile.RolesAndGroups.ViewRoles); string addCommaRoles = String.Join(",", uiProfile.RolesAndGroups.AddRoles); string editCommaRoles = String.Join(",", uiProfile.RolesAndGroups.EditRoles); string deleteCommaRoles = String.Join(",", uiProfile.RolesAndGroups.DeleteRoles); string viewCommaGroups = String.Join(",", uiProfile.RolesAndGroups.ViewGroups); string addCommaGroups = String.Join(",", uiProfile.RolesAndGroups.AddGroups); string editCommaGroups = String.Join(",", uiProfile.RolesAndGroups.EditGroups); string deleteCommaGroups = String.Join(",", uiProfile.RolesAndGroups.DeleteGroups); bool saveGroups = false; bool saveRoles = false; if (profile.GetCommaSeparatedAssignedRoles(PermissionType.View) != viewCommaRoles) { profile.SetAssignedRoles(viewCommaRoles, PermissionType.View); saveRoles = true; } if (profile.GetCommaSeparatedAssignedRoles(PermissionType.Add) != addCommaRoles) { profile.SetAssignedRoles(addCommaRoles, PermissionType.Add); saveRoles = true; } if (profile.GetCommaSeparatedAssignedRoles(PermissionType.Edit) != editCommaRoles) { profile.SetAssignedRoles(editCommaRoles, PermissionType.Edit); saveRoles = true; } if (profile.GetCommaSeparatedAssignedRoles(PermissionType.Delete) != deleteCommaRoles) { profile.SetAssignedRoles(deleteCommaRoles, PermissionType.Delete); saveRoles = true; } if (profile.GetCommaSeparatedGroups(PermissionType.View) != viewCommaGroups) { profile.SetGroups(viewCommaGroups, PermissionType.View); saveGroups = true; } if (profile.GetCommaSeparatedGroups(PermissionType.Add) != addCommaGroups) { profile.SetGroups(addCommaGroups, PermissionType.Add); saveGroups = true; } if (profile.GetCommaSeparatedGroups(PermissionType.Edit) != editCommaGroups) { profile.SetGroups(editCommaGroups, PermissionType.Edit); saveGroups = true; } if (profile.GetCommaSeparatedGroups(PermissionType.Delete) != deleteCommaGroups) { profile.SetGroups(deleteCommaGroups, PermissionType.Delete); saveGroups = true; } profile.Action = uiProfile.Action; profile.EnableNotifications = uiProfile.EnableNotifications; profile.EnableViewState = uiProfile.EnableViewState; profile.FunctionTypeSeqId = uiProfile.FunctionTypeSeqID; profile.Id = uiProfile.Id; profile.IsNavigable = uiProfile.IsNav; profile.LinkBehavior = uiProfile.LinkBehavior; profile.MetaKeywords = uiProfile.MetaKeyWords; profile.Name = uiProfile.Name; profile.NavigationTypeSeqId = uiProfile.NavigationTypeSeqId; profile.Notes = uiProfile.Notes; profile.NoUI = uiProfile.NoUI; profile.ParentId = uiProfile.ParentID; profile.Source = uiProfile.Source; profile.Description = uiProfile.Description; profile.RedirectOnTimeout = uiProfile.RedirectOnTimeout; FunctionUtility.Save(profile, saveGroups, saveRoles); profile = FunctionUtility.GetProfile(uiProfile.Action); directoryProfile = DirectoryUtility.GetProfile(profile.Id); if (!String.IsNullOrEmpty(uiProfile.DirectoryData.Directory)) { if (directoryProfile == null) { directoryProfile = new MDirectoryProfile(); } directoryProfile.FunctionSeqId = profile.Id; directoryProfile.Directory = uiProfile.DirectoryData.Directory; directoryProfile.Impersonate = uiProfile.DirectoryData.Impersonate; directoryProfile.ImpersonateAccount = uiProfile.DirectoryData.ImpersonateAccount; directoryProfile.ImpersonatePassword = uiProfile.DirectoryData.ImpersonatePassword; directoryProfile.Name = uiProfile.DirectoryData.Directory; directoryProfile.UpdatedBy = mAccountProfile.Id; DirectoryUtility.Save(directoryProfile); } else { if (directoryProfile != null) { directoryProfile.Directory = ""; directoryProfile.Name = ""; DirectoryUtility.Save(directoryProfile); } } AccountUtility.RemoveInMemoryInformation(true); mRetVal = "true"; } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("Identifier could not be determined, nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } return(Ok(mRetVal)); }
/// <summary> /// Gets the current profile. /// </summary> /// <returns>MFunctionProfile.</returns> public static MFunctionProfile CurrentProfile() { MFunctionProfile mRetVal = (MFunctionProfile)HttpContext.Current.Items[s_FunctionProfileInfoName]; return(mRetVal); }
/// <summary> /// Ons the state of the acquire request. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> private void onAcquireRequestState(object sender, EventArgs e) { Logger mLog = Logger.Instance(); string mAccountName = AccountUtility.HttpContextUserName(); mLog.Debug("Started"); mLog.Debug("CurrentExecutionFilePath " + HttpContext.Current.Request.CurrentExecutionFilePath); mLog.Debug("HttpContextUserName: "******"ANONYMOUS") { string mMessage = "Could not find account '" + mAccountName + "'"; mLog.Info(mMessage); if (ConfigSettings.AutoCreateAccount) { mMessage = "Creating new account for '" + mAccountName + "'"; mLog.Info(mMessage); AccountUtility.AutoCreateAccount(); } } if (mAccountName.ToUpper(CultureInfo.InvariantCulture) != "ANONYMOUS" & (mAccountProfile.LastLogOn.ToShortDateString() != DateTime.Now.ToShortDateString())) { mAccountProfile.LastLogOn = DateTime.Now; AccountUtility.Save(mAccountProfile, false, false); } if (HttpContext.Current.Session == null) { mLog.Debug("No Session!"); mLog.Debug("Ended"); return; } if (!processRequest()) { mLog.Debug("Request not for processing!"); mLog.Debug("Ended"); return; } if ((HttpContext.Current.Session["EditId"] != null)) { HttpContext.Current.Items["EditId"] = HttpContext.Current.Session["EditId"]; } MClientChoicesState mClientChoicesState = ClientChoicesUtility.GetClientChoicesState(mAccountName); HttpContext.Current.Items[MClientChoices.SessionName] = mClientChoicesState; string mAction = GWWebHelper.GetQueryValue(HttpContext.Current.Request, "Action"); if (string.IsNullOrEmpty(mAction)) { mLog.Debug("No Action!"); mLog.Debug("Ended"); return; } MFunctionProfile mFunctionProfile = FunctionUtility.CurrentProfile(); if (mFunctionProfile == null) { mFunctionProfile = FunctionUtility.GetProfile(mAction); } if (!mFunctionProfile.Source.ToUpper(CultureInfo.InvariantCulture).Contains("MENUS") && !(mAction.ToUpper(CultureInfo.InvariantCulture) == "LOGOFF" | mAction.ToUpper(CultureInfo.InvariantCulture) == "LOGON" | mAction.ToUpper(CultureInfo.InvariantCulture) == "CHANGEPASSWORD")) { FunctionUtility.SetCurrentProfile(mFunctionProfile); dynamic mSecurityInfo = new MSecurityInfo(mFunctionProfile, mAccountProfile); HttpContext.Current.Items["SecurityInfo"] = mSecurityInfo; switch (mAccountProfile.Status) { case (int)SystemStatus.ChangePassword: mException = new WebSupportException("Your password needs to be changed before any other action can be performed."); GWWebHelper.ExceptionError = mException; mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_ChangePassword", true)); string mChangePasswordPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mChangePasswordPage + "?Action=" + mFunctionProfile.Action); break; case (int)SystemStatus.SetAccountDetails: if (HttpContext.Current.Request.Path.ToUpper(CultureInfo.InvariantCulture).IndexOf("/API/", StringComparison.OrdinalIgnoreCase) == -1) { mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditAccount", true)); if (mAction.ToUpper(CultureInfo.InvariantCulture) != mFunctionProfile.Action.ToUpper(CultureInfo.InvariantCulture)) { mException = new WebSupportException("Your account details need to be set."); GWWebHelper.ExceptionError = mException; string mEditAccountPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mEditAccountPage + "?Action=" + mFunctionProfile.Action); } } break; default: string mPage = string.Empty; if (!mSecurityInfo.MayView) { if (mAccountProfile.Account.ToUpper(CultureInfo.InvariantCulture) == "ANONYMOUS") { mException = new WebSupportException("Your session has timed out.<br/>Please sign in."); GWWebHelper.ExceptionError = mException; mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_Logon", true)); mPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mPage + "?Action=" + mFunctionProfile.Action); } mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_AccessDenied", true)); mLog.Warn("Access was denied to Account: " + mAccountProfile.Account + " for Action: " + mFunctionProfile.Action); mPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mPage + "?Action=" + mFunctionProfile.Action); } break; } } else { mLog.Debug("Menu data or Logoff/Logon or ChangePassword requested"); } //processOverridePage(mFunctionProfile); }
/// <summary> /// /// </summary> /// <param name="profile"></param> /// <returns></returns> public static DataTable GetFunctionMenuOrder(MFunctionProfile profile) { BFunctions mBFunctions = new BFunctions(SecurityEntityUtility.CurrentProfile(), ConfigSettings.CentralManagement); return(mBFunctions.GetMenuOrder(profile)); }