예제 #1
0
 public string[] dataGrid(AdminMenuItem m)
 {
     return(new string[] {
         m.Name,
         string.Format("{0:C}", m.Price)
     });
 }
예제 #2
0
        public ActionResult AdminMenuEdit(int userid)
        {
            PartUserInfo partUserInfo = Users.GetPartUserById(userid);

            List <AdminMenuItem>    adminmenulist = new List <AdminMenuItem>();
            List <ArticleClassInfo> menulist      = Services.ArticleClass.AdminGetArticleClassTreeList();

            foreach (ArticleClassInfo list in menulist)
            {
                AdminMenuItem item = new AdminMenuItem()
                {
                    isSel    = Services.Users.ExistsAdminMenu(userid, list.ArticleClassID),
                    MenuID   = list.ArticleClassID,
                    MenuName = list.ClassName
                };
                adminmenulist.Add(item);
            }

            AdminMenuModel model = new AdminMenuModel()
            {
                PartUserInfo  = partUserInfo,
                AdminMenuList = adminmenulist
            };

            return(View(model));
        }
예제 #3
0
        private List <AdminMenuItem> ReadTables(DataTable dataTable)
        {
            List <AdminMenuItem> menuItems = new List <AdminMenuItem>();

            foreach (DataRow dr in dataTable.Rows)
            {
                AdminMenuItem menu = new AdminMenuItem(
                    Convert.ToInt32(dr["MenuItemID"]),
                    dr["MenuName"].ToString(),
                    Convert.ToDecimal(dr["Price"]),
                    Convert.ToInt32(dr["MenuID"])
                    );
                menuItems.Add(menu);
            }
            return(menuItems);
        }
        public List <AdminMenuItem> GetChildrenItems(AdminMenuItem menuItem, List <AdminMenuItem> menuItems)
        {
            var childrens = menuItems.Where(x => x.ParentId == menuItem.Id).ToList();

            if (menuItem.ChildrenItems == null)
            {
                menuItem.ChildrenItems = new List <AdminMenuItem>();
            }
            menuItem.ChildrenItems.AddRange(childrens);
            foreach (var item in childrens)
            {
                menuItems.Remove(item);
                GetChildrenItems(item, menuItems);
            }

            return(menuItem.ChildrenItems);
        }
예제 #5
0
        public static int SubViewMenuCount(this AdminMenuItem menu)
        {
            int count = 0;

            if (menu.SubMenu != null)
            {
                foreach (var it in menu.SubMenu)
                {
                    if (it.isHidden != true)
                    {
                        count++;
                    }
                }
            }

            return(count);
        }
예제 #6
0
        public static string Content(this UrlHelper Url, AdminMenuItem menu)
        {
            string urlString = "#";

            if (menu.ActionName.IsNullEmpty())
            {
                if (!menu.UrlString.IsNullEmpty())
                {
                    urlString = Url.Content(menu.UrlString);
                }
            }
            else
            {
                urlString = Url.Action(menu.ActionName, menu.ControllerName, menu.RouterValues);
            }

            return(urlString);
        }
예제 #7
0
        public async Task <PartialViewResult> AuthenticationLink()
        {
            var item = new AdminMenuItem
            {
                RouteInfo = new { controller = "admin", area = "admin" }
            };

            if (User.Identity.IsAuthenticated)
            {
                item.Text   = "Logout";
                item.Action = "logout";
            }
            else
            {
                item.Text   = "Login";
                item.Action = "login";
            }

            return(PartialView("_menuLink", item));
        }
예제 #8
0
        private static bool HasUserPermission(NccUser user, AdminMenuItem subItem)
        {
            if (user.Roles.Where(x => x.Role.Name == NccCmsRoles.SuperAdmin).Count() > 0)
            {
                return(true);
            }

            var controller = "";
            var action     = "";

            if (string.IsNullOrEmpty(subItem.Url) == false)
            {
                (controller, action) = NccUrlHelper.GetControllerActionFromUrl(subItem.Url);
            }
            else
            {
                controller = subItem.Controller;
                action     = subItem.Action;
            }

            if (user.ExtraDenies.Where(x => x.Action == action && x.Controller == controller).Count() > 0)
            {
                return(false);
            }
            else if (user.Permissions.Where(x => x.Permission.PermissionDetails.Where(y => y.Action == action && y.Controller == controller).Count() > 0).Count() > 0)
            {
                return(true);
            }
            else if (user.ExtraPermissions.Where(x => x.Action == action && x.Controller == controller).Count() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #9
0
        public static bool IsActive(this AdminMenuItem menu, string controllerName, string actionName)
        {
            if (!menu.ActionName.IsNullEmpty())
            {
                if (actionName == menu.ActionName.ToLower() && controllerName == menu.ControllerName.ToLower())
                {
                    return(true);
                }
            }

            if (menu.SubMenu != null)
            {
                foreach (var it in menu.SubMenu)
                {
                    if (it.IsActive(controllerName, actionName))
                    {
                        return(true);
                    }
                }
            }


            return(false);
        }