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)); }
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); }
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); }
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); }
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 { } }
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); }
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); }