Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 /// <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);
 }
Esempio n. 4
0
 /// <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);
     }
 }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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;
            }
        }
Esempio n. 7
0
        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;
            }
        }
Esempio n. 8
0
        /// <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();
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
        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);
                }
            }
        }
Esempio n. 12
0
        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;
            }
        }
Esempio n. 13
0
        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;
        }
Esempio n. 14
0
        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);
            }
        }
Esempio n. 15
0
 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();
     }
 }
Esempio n. 16
0
        /// <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);
        }
Esempio n. 17
0
        /// <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();
            }
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        /// <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);
        }
Esempio n. 21
0
        /// <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.";
            }
        }
Esempio n. 22
0
 /// <summary>
 /// Sets the current function.
 /// </summary>
 /// <param name="profile">The profile.</param>
 public static void SetCurrentProfile(MFunctionProfile profile)
 {
     HttpContext.Current.Items[s_FunctionProfileInfoName] = profile;
 }
Esempio n. 23
0
        //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);
        }
Esempio n. 24
0
        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));
        }
Esempio n. 25
0
        /// <summary>
        /// Gets the current profile.
        /// </summary>
        /// <returns>MFunctionProfile.</returns>
        public static MFunctionProfile CurrentProfile()
        {
            MFunctionProfile mRetVal = (MFunctionProfile)HttpContext.Current.Items[s_FunctionProfileInfoName];

            return(mRetVal);
        }
Esempio n. 26
0
        /// <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);
        }
Esempio n. 27
0
        /// <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));
        }