示例#1
0
        public ActionResult Menu()
        {
            //OutputCache.Add(Url, ControllerContext.RouteData, null,
            //                new List<string>() { });

            //var user = User as UserPrincipal;

            DataTable objDataTable = new DataTable();
            string    filepathe    = "~/Menu/xmlMenuFiles.xml";

            objDataTable = ReadXMLFile(filepathe);

            var _menu = new MenuViewModels();

            foreach (DataRow item in objDataTable.Select("ParentID = 0"))
            {
                MenuItemViewModel menuitem = new MenuItemViewModel()
                {
                    MenuItemName           = item["Title"].ToString(),
                    MenuItemPath           = item["Action"].ToString(),
                    MenuIcon               = item["Icon"].ToString(),
                    MenuController         = item["Controller"].ToString(),
                    DisplayOrder           = item["DisplayOrder"].ToString(),
                    MenuItemBreadCrumbPath = item["BreadCrumbDefaultLink"].ToString(),
                    BreadCrumbDisplay      = item["BreadCrumbDisplay"].ToString().ToLower(),
                    SecondaryTitle         = item["SecondaryTitle"].ToString()
                };
                _menu.Items.Add(menuitem);
                getMenuChild(objDataTable, menuitem, item["MenuID"].ToString(), _menu);
            }
            //ViewData["menu"] = _menu;
            return(PartialView("_MenuMain", _menu));
        }
示例#2
0
        private MenuViewModels getMenuChild(DataTable tb, MenuItemViewModel menuitem, string parentID, MenuViewModels menu)
        {
            DataTable tbNews = tb;

            DataRow[]      dr = tbNews.Select("ParentID='" + parentID + "'");
            MenuViewModels mn = menu;

            if (dr.Length > 0)
            {
                foreach (DataRow item in dr)
                {
                    MenuItemViewModel itemChild = new MenuItemViewModel()
                    {
                        MenuItemName           = item["Title"].ToString(),
                        MenuItemPath           = item["Action"].ToString(),
                        MenuIcon               = item["Icon"].ToString(),
                        MenuController         = item["Controller"].ToString(),
                        DisplayOrder           = item["DisplayOrder"].ToString(),
                        MenuItemBreadCrumbPath = item["BreadCrumbDefaultLink"].ToString(),
                        BreadCrumbDisplay      = item["BreadCrumbDisplay"].ToString().ToLower(),
                        SecondaryTitle         = item["SecondaryTitle"].ToString()
                    };
                    menuitem.ChildMenuItems.Add(itemChild);
                    getMenuChild(tbNews, itemChild, item["MenuID"].ToString(), mn);
                }
            }
            return(mn);
        }
示例#3
0
        public ActionResult Update(int id)
        {
            MenuViewModels model = new MenuViewModels();

            try
            {
                var menu = _accessRoleStore.GetMenuById(id);
                model.Name      = menu.Name;
                model.Active    = menu.Active;
                model.CssClass  = menu.CssClass;
                model.IconCss   = menu.IconCss;
                model.SortOrder = menu.SortOrder ?? 0;
                model.Name      = menu.Name;
                model.Visible   = menu.Visible;
                model.Title     = menu.Title;
                model.ParentId  = menu.ParentId ?? 0;
                if (menu.Controller != null && menu.Controller != "")
                {
                    model.OperationName = menu.Controller + "/" + menu.Action;
                }
                model.AllOperation = _accessRoleStore.GetListOperationNotUse();
            }
            catch (Exception ex)
            {
                this.AddNotification("Failed to get data because: " + ex.ToString(), NotificationType.ERROR);
                PartialView("_Update", model);
            }
            return(PartialView("_Update", model));
        }
示例#4
0
        public bool AddMenu([FromBody] MenuViewModels model)
        {
            bool result = false;

            result = _menuService.addMenuByTraiteurId(model.Nom, model.Entrer, model.Plat, model.Dessert, model.Prix, model.NbPersonnes, model.TraiteurId);
            return(result);
        }
        public List <MenuViewModels> DTMenu(string ParentIDValue, string ID1, string ID2, string ID3)
        {
            List <MenuViewModels> DATA = new List <MenuViewModels>();
            List <Menu>           DT;

            string userId = SessionManager.userId();

            DT = (from mn in _db.Menus
                  join mr in _db.MenuRestrictions on mn.MenuId equals mr.MenuId
                  join usr in _db.Users on mr.RoleId equals usr.RoleId
                  where mn.ParentId == ParentIDValue && mn.ShowMenu == true && usr.UserId == userId
                  orderby mn.Opt
                  select mn).ToList();
            ID1 = ID1 == null ? string.Empty : ID1;
            ID2 = ID2 == null ? string.Empty : ID2;
            ID3 = ID3 == null ? string.Empty : ID3;

            DT.Where(x => x.MenuId.ToString() == ID1).ToList().ForEach(x => x.Descriptions = "active");
            DT.Where(x => x.MenuId.ToString() == ID2).ToList().ForEach(x => x.Descriptions = "active");
            DT.Where(x => x.MenuId.ToString() == ID3).ToList().ForEach(x => x.Descriptions = "active");

            foreach (Menu itemMenu in DT)
            {
                MenuController MeMC = new Controllers.MenuController();
                var            Menu = new MenuViewModels
                {
                    Parent = itemMenu,
                    Child  = MeMC.DTMenu(itemMenu.MenuId.ToString(), ID1, ID2, ID3)
                };

                DATA.Add(Menu);
            }

            return(DATA);
        }
示例#6
0
        public ActionResult Index()
        {
            MenuViewModels viewModel = new MenuViewModels
            {
                // Here you do a database call to populate your menu items
                // This GetAllMenuItems method returns a list of MenuItem objects
                MenuItems = db.Menu.ToList(),
            };

            return(PartialView("_UstMenu", viewModel));
        }
示例#7
0
        public ActionResult Index(MenuViewModels model)
        {
            try
            {
                model.AllMenus = _accessRoleStore.GetAllMenus();
            }
            catch (Exception ex)
            {
                this.AddNotification(string.Format("Could not get all menus because: {0}", ex.ToString()), NotificationType.ERROR);
            }

            return(View(model));
        }
示例#8
0
        //Show popup confirm delete
        public ActionResult PopupDelete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            MenuViewModels record = new MenuViewModels();

            record.Id = Convert.ToInt32(id);

            return(PartialView("_DeleteInfo", record));
        }
示例#9
0
        public ActionResult SaveUpdate(MenuViewModels model)
        {
            string Controller = null;
            string Action     = null;

            if (model.OperationName != null)
            {
                Controller = model.OperationName.Split('/')[0];
                Action     = model.OperationName.Split('/')[1];
            }
            int?ParentId = null;

            if (model.ParentId != 0)
            {
                ParentId = model.ParentId;
            }
            try
            {
                _accessRoleStore.UpdateMenu(new IdentityMenu
                {
                    Id         = model.Id,
                    ParentId   = model.ParentId,
                    Active     = model.Active,
                    Controller = Controller,
                    Action     = Action,
                    CssClass   = model.CssClass,
                    IconCss    = model.IconCss,
                    SortOrder  = model.SortOrder,
                    Name       = model.Name,
                    Visible    = model.Visible,
                    Title      = model.Title
                });

                MenuHelper.ClearAllMenuCache();

                return(Json(new AjaxResponseModel {
                    Success = true, Message = "Cập nhật thành công"
                }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                this.AddNotification("Failed to get data because: " + ex.ToString(), NotificationType.ERROR);
                return(Json(new AjaxResponseModel {
                    Success = false, Message = "Cập nhật thất bại"
                }, JsonRequestBehavior.AllowGet));
            }
        }
示例#10
0
        public ActionResult Create(int parentid)
        {
            MenuViewModels model = new MenuViewModels();

            model.ParentId = parentid;
            model.Active   = true;
            model.Visible  = true;
            try
            {
                model.AllOperation = _accessRoleStore.GetListOperationNotUse();
            }
            catch (Exception ex)
            {
                this.AddNotification("Failed to get data because: " + ex.ToString(), NotificationType.ERROR);
                PartialView("_Create", model);
            }
            return(PartialView("_Create", model));
        }
        public List <MenuViewModels> MenuEdit(string parentId, string privilegeId, string userId)
        {
            List <MenuViewModels> listViewModel = new List <MenuViewModels>();
            List <Menu>           listMenu      = new List <Menu>();

            listMenu = MenuRestrictionsBusinessLogic.getInstance().GetPrivilegeTree(userId, privilegeId, parentId);
            foreach (Menu itemMenu in listMenu)
            {
                MenuRestrictionsController MeMC = new MenuRestrictionsController();
                MenuViewModels             Menu = new MenuViewModels();
                Menu.Parent  = itemMenu;
                Menu.Checked = Convert.ToBoolean(itemMenu.IsRead);
                Menu.Child   = MeMC.MenuEdit(itemMenu.MenuId, privilegeId, userId);
                listViewModel.Add(Menu);
            }

            return(listViewModel);
        }
        public List <MenuViewModels> MenuList(string parentId, string userId)
        {
            List <MenuViewModels> model    = new List <MenuViewModels>();
            List <Menu>           listMenu = new List <Menu>();
            var menuData = (from c in _db.Menus
                            join b in _db.MenuRestrictions on c.MenuId equals b.MenuId
                            join d in _db.Roles on b.RoleId equals d.RoleId
                            join e in _db.Users on b.RoleId equals e.RoleId
                            where c.ParentId == parentId && e.UserId == userId
                            select new { c, b }).OrderBy(x => x.c.Opt).ToList();

            foreach (var itm in menuData)
            {
                var m = new Menu
                {
                    MenuId       = itm.c.MenuId,
                    Action       = itm.c.Action,
                    Controller   = itm.c.Controller,
                    Descriptions = itm.c.Descriptions,
                    Icon         = itm.c.Icon,
                    MenuName     = itm.c.MenuName,
                    ParentId     = itm.c.ParentId,
                    ShowMenu     = itm.c.ShowMenu,
                    Opt          = itm.c.Opt
                };
                listMenu.Add(m);
            }

            foreach (Menu itemMenu in listMenu)
            {
                MenuRestrictionsController MeMC           = new MenuRestrictionsController();
                MenuViewModels             menuViewModels = new MenuViewModels();
                menuViewModels.Checked = false;
                menuViewModels.Parent  = itemMenu;
                menuViewModels.Child   = MeMC.MenuList(itemMenu.MenuId, userId);
                model.Add(menuViewModels);
            }

            return(model);
        }
示例#13
0
        public ApplicationViewModel(IEventAggregator iEventAggregator)
        {
            LoadSettings();
            this.iEventAggregator = iEventAggregator;
            SubscriptionToken subscriptionToken =
                this
                .iEventAggregator
                .GetEvent <PubSubEvent <Character> >()
                .Subscribe((details) =>
            {
                this.SelectedCharacter = details;
            });

            // Add available pages
            MenuViewModels.Add(new MainMenuViewModel(Event.EventInstance.EventAggregator));
            PageViewModels.Add(new ArrViewModel(Event.EventInstance.EventAggregator));
            PageViewModels.Add(new HWViewModel(Event.EventInstance.EventAggregator));
            PageViewModels.Add(new ShBViewModel(Event.EventInstance.EventAggregator));
            PageViewModels.Add(new SkysteelViewModel(Event.EventInstance.EventAggregator));

            // Set starting page
            CurrentPageViewModel = MenuViewModels[0];
        }