Example #1
0
        public static DNHSitemapAction CheckActionPermission(DNHSiteMap objSiteMap, string ActionName)
        {
            //get NodeID role
            //acc Role permission
            DNHSitemapAction objItem = null;

            if (objSiteMap.Access != 0)
            {
                DNHSitemapActionCollection myCol = DNHSitemapActionManager.GetById(objSiteMap.Access, objSiteMap.CompanyID);
                bool isMatch = false;
                if (myCol.Count > 0)
                {
                    foreach (DNHSitemapAction myitem in myCol)
                    {
                        if (myitem.ActionName.ToLower() == ActionName.ToLower())
                        {
                            isMatch = true;
                            objItem = myitem;
                            break;
                        }
                    }
                }
                if (!isMatch)
                {
                    objItem = AddNewDefaultAction(objSiteMap, ActionName);
                }
            }
            else
            {
                objItem = AddNewDefaultAction(objSiteMap, ActionName);
                if (objItem != null)
                {
                    //objSiteMap.Access = objItem.ID;
                    DNHRoleSitemap RoleSitemap = DNHRoleSitemapManager.GetbyID(objSiteMap.NodeID.ToString(), objSiteMap.CompanyID, objSiteMap.RoleName);
                    if (RoleSitemap.NodeID != Guid.Empty)
                    {
                        RoleSitemap.Access     = objItem.ID;
                        RoleSitemap.CreateDate = SystemConfig.CurrentDate;
                        RoleSitemap            = DNHRoleSitemapManager.Update(RoleSitemap);
                        if (RoleSitemap.NodeID != Guid.Empty)
                        {
                            DNHSiteMapManager.RemoveCache(objSiteMap);
                        }
                    }
                }
            }
            return(objItem);
        }