示例#1
0
 public ActionResult Edit([Bind(Include = "Id,ParentId,Text,Description,AreaName,ControllerName,ActionName,Icon,SortOrder,IsDivider")] SiteNavigationItem siteNavigationItem)
 {
     if (ModelState.IsValid)
     {
         db.Entry(siteNavigationItem).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(siteNavigationItem));
 }
示例#2
0
        // GET: SiteNavigation/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SiteNavigationItem siteNavigation = db.SiteNavigationItems.Find(id);

            if (siteNavigation == null)
            {
                return(HttpNotFound());
            }
            return(View(siteNavigation));
        }
示例#3
0
        public PartialViewResult MenuNavigation()
        {
            var navigationItems = SiteNavigationItem.Get(NavbarMenu);

            return(PartialView("MenuNavigation", navigationItems));
        }
示例#4
0
        public PartialViewResult MenuDashboard()
        {
            var navigationItems = SiteNavigationItem.Get(DashboardMenu);

            return(PartialView("MenuDashboard", navigationItems));
        }
示例#5
0
        private static void ImportSubMenus(ApplicationDbContext db, XmlNodeList nodes, int?parentId)
        {
            var SortOrder = 0;
            ApplicationRoleManager roleManager = new ApplicationRoleManager(new RoleStore <ApplicationRole>(db));

            foreach (XmlNode node in nodes)
            {
                var sn = new SiteNavigationItem()
                {
                    SortOrder      = SortOrder++,
                    AreaName       = node["AreaName"].InnerText,
                    ControllerName = node["ControllerName"].InnerText,
                    ActionName     = node["ActionName"].InnerText,
                    ParentId       = parentId
                };

                sn.IsDivider = true;
                if (node["IsDivider"] == null)
                {
                    sn.Text        = node["Text"].InnerText;
                    sn.Description = node["Description"].InnerText;
                    sn.Icon        = node["Icon"].InnerText;
                    sn.IsDivider   = false;
                }

                if (node["InDashboard"] != null)
                {
                    sn.InNavBar    = false;
                    sn.InDashboard = Convert.ToBoolean(node["InDashboard"].InnerText);
                }

                db.SiteNavigationItems.Add(sn);
                db.SaveChanges();

                /**************************************************************************************
                *  Add role to menu Item
                **************************************************************************************/
                foreach (XmlNode roles in node.SelectNodes("Roles"))
                {
                    var roleName = roles["RoleName"].InnerText;
                    var role     = roleManager.FindByName(roleName);
                    if (role != null)
                    {
                        var snr = new SiteNavigationRole()
                        {
                            MenuId = sn.Id,
                            RoleId = role.Id
                        };
                        db.SiteNavigationRoles.Add(snr);
                        db.SaveChanges();
                    }
                }

                /**************************************************************************************
                *  Add any sub-menus - if any exist
                **************************************************************************************/
                if (node["SubMenu"] != null)
                {
                    ImportSubMenus(db, node.SelectNodes("SubMenu"), sn.Id);
                }
            }
        }