Beispiel #1
0
        public static bool CheckCurrentActionCustom(IdentityMenu mi)
        {
            if (HttpContext.Current == null)
            {
                return(false);
            }

            string controllerName = null;
            string actionName     = null;

            var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;

            if (routeValues != null)
            {
                if (routeValues.ContainsKey("action"))
                {
                    actionName = routeValues["action"].ToString();
                }
                if (routeValues.ContainsKey("controller"))
                {
                    controllerName = routeValues["controller"].ToString();
                }
            }

            return(CheckCurrentActionCustom(mi, actionName, controllerName));
        }
Beispiel #2
0
        private static bool CheckCurrentActionCustom(IdentityMenu mi, string actionName, string controllerName)
        {
            if (
                !string.IsNullOrEmpty(mi.Action) &&
                !string.IsNullOrEmpty(mi.Controller) &&
                !string.IsNullOrEmpty(actionName) &&
                !string.IsNullOrEmpty(controllerName) &&
                mi.Action.Equals(actionName, StringComparison.InvariantCultureIgnoreCase) &&
                mi.Controller.Equals(controllerName, StringComparison.InvariantCultureIgnoreCase)
                )
            {
                return(true);
            }

            return(false);
        }
Beispiel #3
0
        public static bool CheckCurrentGroupCustom(IdentityMenu gmi)
        {
            if (CheckCurrentActionCustom(gmi))
            {
                return(true);
            }

            if (gmi.SubMenu != null && gmi.SubMenu.Any())
            {
                foreach (var smi in gmi.SubMenu)
                {
                    if (CheckCurrentGroupCustom(smi))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Beispiel #4
0
        public IdentityMenu GetMenuDetail(int id)
        {
            var          sqlCmd = @"Menu_GetDetail";
            IdentityMenu info   = null;

            var parameters = new Dictionary <string, object>
            {
                { "@Id", id }
            };

            try
            {
                using (var conn = new SqlConnection(_connectionString))
                {
                    using (var reader = MsSqlHelper.ExecuteReader(conn, CommandType.StoredProcedure, sqlCmd, parameters))
                    {
                        if (reader.Read())
                        {
                            info = ParsingMenuFromReader(reader);
                        }

                        //All languages
                        if (reader.NextResult())
                        {
                            while (reader.Read())
                            {
                                var langItem = ParsingMenuLangFromReader(reader);
                                info.LangList.Add(langItem);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var strError = "Failed to execute Menu_GetDetail. Error: " + ex.Message;
                throw new CustomSQLException(strError);
            }

            return(info);
        }
Beispiel #5
0
        public static void MenuItemFindAllChildren(IdentityMenu parentItem, string UserId)
        {
            var _rolesIdentityStore = GlobalContainer.IocContainer.Resolve <IAccessRolesStore>();

            try
            {
                List <IdentityMenu> childMenus = _rolesIdentityStore.GetChildMenuByUserId(UserId, parentItem.Id).ToList();

                parentItem.SubMenu = childMenus;
                if (childMenus != null && childMenus.Count > 0)
                {
                    foreach (IdentityMenu childInfo in childMenus)
                    {
                        MenuItemFindAllChildren(childInfo, UserId);
                    }
                }
            }
            catch
            {
            }
        }
Beispiel #6
0
        private static IdentityMenu CheckCurrentMenuItemInCollectionsCustom(IEnumerable <IdentityMenu> menuItems, string actionName, string controllerName)
        {
            IdentityMenu result = null;

            if (menuItems != null && menuItems.Count() > 0)
            {
                foreach (var mi in menuItems)
                {
                    if (CheckCurrentActionCustom(mi, actionName, controllerName))
                    {
                        //Check current item
                        result = mi;
                        break;
                    }

                    if (mi.SubMenu != null && mi.SubMenu.Any())
                    {
                        //Find in subMenu
                        foreach (var smi in mi.SubMenu)
                        {
                            var tempItem = CheckCurrentMenuItemInCollectionsCustom(mi.SubMenu, actionName, controllerName);
                            if (tempItem != null)
                            {
                                result = tempItem;
                                break;
                            }
                        }

                        //Found in subMenu
                        if (result != null)
                        {
                            break;
                        }
                    }
                }
            }

            return(result);
        }
Beispiel #7
0
        public string UpdateMenu(IdentityMenu identity)
        {
            //Common syntax
            var conn   = new SqlConnection(_connectionString);
            var sqlCmd = @"Menu_Update";

            //For parameters
            var parameters = new Dictionary <string, object>
            {
                { "@Id", identity.Id },
                { "@ParentId", identity.ParentId },
                { "@Area", identity.Area },
                { "@Name", identity.Name },
                { "@Title", identity.Title },
                { "@Desc", identity.Desc },
                { "@Action", identity.Action },
                { "@Controller", identity.Controller },
                { "@Visible", identity.Visible },
                { "@Authenticate", identity.Authenticate },
                { "@CssClass", identity.CssClass },
                { "@SortOrder", identity.SortOrder },
                { "@AbsoluteUri", identity.AbsoluteUri },
                { "@Active", identity.Active },
                { "@IconCss", identity.IconCss },
            };

            try
            {
                MsSqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, sqlCmd, parameters);
            }
            catch (Exception ex)
            {
                var strError = "Failed to execute Menu_Update. Error: " + ex.Message;
                throw new CustomSQLException(strError);
            }

            return(string.Empty);
        }