Exemplo n.º 1
0
        //Add menu to Role
        public ActionResult UserAddMenu(string id)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            var _menu = new List <MenuItem>();

            if (User.Identity.Name.ToUpper() == "ADMIN")
            {
                _menu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where  isMenu=1 and isDisplay=1").ToList();
            }
            else
            {
                _menu = db.MenuItems.Where(m => m.isMenu == true && m.isDisplay == true).ToList();
            }


            string _UserId     = db.Users.FirstOrDefault(u => u.UserName == id).Id;
            var    _menuinUser = db.MenuItemUsers.Where(m => m.User_ID == _UserId).ToList();

            List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>();

            foreach (var item1 in _menu)
            {
                RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1);
                foreach (var item2 in _menuinUser)
                {
                    if (item2.MenuItem_ID == item1.Item_ID)
                    {
                        _itemView._checked = "checked";
                        _itemView.isCheck  = true;
                    }
                    else
                    {
                        _itemView.isCheck = false;
                    }
                }
                _lstViewMenu.Add(_itemView);
            }

            //Session["_menu"] = _lstViewMenu;

            RoleAddMenuViewModel root = new RoleAddMenuViewModel();

            root.Item_ID   = "0";
            root.Item_name = "Đây là root node";
            _lstViewMenu.Add(root);

            var tree = _lstViewMenu.ToTree();

            ViewBag.UserName = id;
            ViewBag.UserId   = _UserId;
            return(View(tree));
        }
Exemplo n.º 2
0
        public ActionResult RoleAddMenu(FormCollection _form)
        {
            string RoleName = _form["RoleName"];
            //lấy danh sách ID:
            List <string> lstID = new List <string>();

            foreach (var _key in _form.AllKeys)
            {
                if (_key.StartsWith("chk_"))
                {
                    string sID  = _form[_key].Split('_')[0];
                    string spID = _form[_key].Split('_')[1];

                    lstID.Add(sID);
                    lstID.Add(spID);
                }
            }
            List <string> lstIDDistinct    = lstID.Distinct().ToList();
            List <string> lstItemisNotMenu = _db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=0").Select(m => m.Item_ID).ToList <string>();

            lstIDDistinct.AddRange(lstItemisNotMenu);
            //add Menu to Role:
            ApplicationDbContext db = new ApplicationDbContext();

            //Xóa nMenu cũ:
            db.MenuItemRoles.Where(o => o.Role_ID == RoleName).ToList().ForEach(o => db.MenuItemRoles.Remove(o));

            string _MaTTP = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name).MA_TINHTP;

            foreach (var item in lstIDDistinct)
            {
                db.MenuItemRoles.Add(new MenuItemRole()
                {
                    MenuItem_ID = item, Role_ID = RoleName, Ma_TTP = _MaTTP
                });
            }
            db.SaveChanges();

            var _menu = db.Database.SqlQuery <MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b 
								                                    on a.Id=b.RoleId
							                                      inner join MenuItemRoles c
								                                    on a.Name=c.Role_ID
							                                      inner join ApplicationUserGroups d
								                                    on b.GroupId=d.GroupId
							                                      inner join MenuItems e
								                                    on c.MenuItem_ID=e.Item_ID
							                                      inner join AspNetUsers f
								                                    on d.UserId=f.Id
                                                                where f.UserName=@UserName and e.isMenu=1"
                                                        , new SqlParameter("@UserName", User.Identity.Name));

            var _menuinRole = db.MenuItemRoles.Where(m => m.Role_ID == RoleName).ToList();

            List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>();

            foreach (var item1 in _menu)
            {
                RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1);
                foreach (var item2 in _menuinRole)
                {
                    if (item2.MenuItem_ID == item1.Item_ID)
                    {
                        _itemView._checked = "checked";
                        _itemView.isCheck  = true;
                    }
                    else
                    {
                        _itemView.isCheck = false;
                    }
                }
                _lstViewMenu.Add(_itemView);
            }

            RoleAddMenuViewModel root = new RoleAddMenuViewModel();

            root.Item_ID   = "0";
            root.Item_name = "Đây là root node";
            _lstViewMenu.Add(root);

            var tree = _lstViewMenu.ToTree();

            return(View(tree));
        }
Exemplo n.º 3
0
        //Add menu to Role
        public ActionResult RoleAddMenu(string id)
        {
            ViewBag.RoleName = id;
            ApplicationDbContext db = new ApplicationDbContext();

            var _menu = new List <MenuItem>();

            if (User.Identity.Name.ToUpper() == "ADMIN")
            {
                _menu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where  isMenu=1 ").ToList();
            }
            else
            {
                _menu = db.Database.SqlQuery <MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b 
								                                    on a.Id=b.RoleId
							                                      inner join MenuItemRoles c
								                                    on a.Name=c.Role_ID
							                                      inner join ApplicationUserGroups d
								                                    on b.GroupId=d.GroupId
							                                      inner join MenuItems e
								                                    on c.MenuItem_ID=e.Item_ID
							                                      inner join AspNetUsers f
								                                    on d.UserId=f.Id
                                                                where  UserName=@UserName and e.isMenu=1"
                                                        , new SqlParameter("@UserName", User.Identity.Name)
                                                        ).ToList();
            }



            var _menuinRole = db.MenuItemRoles.Where(m => m.Role_ID == id).ToList();

            List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>();

            foreach (var item1 in _menu)
            {
                RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1);
                foreach (var item2 in _menuinRole)
                {
                    if (item2.MenuItem_ID == item1.Item_ID)
                    {
                        _itemView._checked = "checked";
                        _itemView.isCheck  = true;
                    }
                    else
                    {
                        _itemView.isCheck = false;
                    }
                }
                _lstViewMenu.Add(_itemView);
            }

            Session["_menu"] = _lstViewMenu;

            RoleAddMenuViewModel root = new RoleAddMenuViewModel();

            root.Item_ID   = "0";
            root.Item_name = "Đây là root node";
            _lstViewMenu.Add(root);

            var tree = _lstViewMenu.ToTree();

            return(View(tree));
        }
Exemplo n.º 4
0
        public ActionResult UserAddMenu(FormCollection _form)
        {
            ViewBag.SuccessUser = "";
            string UserName = _form["UserName"];
            string _UserId  = _form["UserId"].ToString();
            //lấy danh sách ID:
            List <string> lstID = new List <string>();

            foreach (var _key in _form.AllKeys)
            {
                if (_key.StartsWith("chk_"))
                {
                    string sID  = _form[_key].Split('_')[0];
                    string spID = _form[_key].Split('_')[1];

                    lstID.Add(sID);
                    lstID.Add(spID);
                }
            }
            ApplicationDbContext db               = new ApplicationDbContext();
            List <string>        lstIDDistinct    = lstID.Distinct().ToList();
            List <string>        lstItemisNotMenu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=0").Select(m => m.Item_ID).ToList <string>();

            lstIDDistinct.AddRange(lstItemisNotMenu);
            //add Menu to Role:

            //Xóa nMenu cũ:
            try
            {
                db.MenuItemUsers.Where(o => o.User_ID == _UserId).ToList().ForEach(o => db.MenuItemUsers.Remove(o));

                string _MaTTP = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name).MA_TINHTP;
                foreach (var item in lstIDDistinct)
                {
                    db.MenuItemUsers.Add(new MenuItemUser()
                    {
                        MenuItem_ID = item, User_ID = _UserId, Ma_TTP = _MaTTP
                    });
                }
                db.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                var str1 = "";
                var str  = "";
                foreach (var eve in e.EntityValidationErrors)
                {
                    str = String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                        eve.Entry.Entity.GetType().Name, eve.Entry.State);

                    foreach (var ve in eve.ValidationErrors)
                    {
                        str1 += String.Format("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                    }
                }
                ViewBag.Error = str + str1;
            }
            finally
            { }


            var _menu = db.MenuItems.Where(m => m.isMenu == true).ToList();

            var _menuinUser = db.MenuItemUsers.Where(m => m.User_ID == _UserId).ToList();

            List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>();

            foreach (var item1 in _menu)
            {
                RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1);
                foreach (var item2 in _menuinUser)
                {
                    if (item2.MenuItem_ID == item1.Item_ID)
                    {
                        _itemView._checked = "checked";
                        _itemView.isCheck  = true;
                    }
                    else
                    {
                        _itemView.isCheck = false;
                    }
                }
                _lstViewMenu.Add(_itemView);
            }

            //Session["_menu"] = _lstViewMenu;

            RoleAddMenuViewModel root = new RoleAddMenuViewModel();

            root.Item_ID   = "0";
            root.Item_name = "Đây là root node";
            _lstViewMenu.Add(root);

            var tree = _lstViewMenu.ToTree();

            ViewBag.UserName    = UserName;
            ViewBag.UserId      = _UserId.ToString();
            ViewBag.SuccessUser = "******" + UserName + " thành công!";
            return(View(tree));
        }
Exemplo n.º 5
0
        public ActionResult GroupAddMenu(FormCollection _form)
        {
            ViewBag.SuccessGroup = "";
            string GroupName = _form["GroupName"];
            int    _GroupId  = int.Parse(_form["GroupId"].ToString());
            //lấy danh sách ID:
            List <string> lstID = new List <string>();

            foreach (var _key in _form.AllKeys)
            {
                if (_key.StartsWith("chk_"))
                {
                    string sID  = _form[_key].Split('_')[0];
                    string spID = _form[_key].Split('_')[1];

                    lstID.Add(sID);
                    lstID.Add(spID);
                }
            }
            ApplicationDbContext db               = new ApplicationDbContext();
            List <string>        lstIDDistinct    = lstID.Distinct().ToList();
            List <string>        lstItemisNotMenu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=0").Select(m => m.Item_ID).ToList <string>();

            lstIDDistinct.AddRange(lstItemisNotMenu);
            //add Menu to Role:

            //Xóa nMenu cũ:
            db.MenuItemGroups.Where(o => o.Group_ID == _GroupId).ToList().ForEach(o => db.MenuItemGroups.Remove(o));

            string _MaTTP = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name).MA_TINHTP;

            foreach (var item in lstIDDistinct)
            {
                db.MenuItemGroups.Add(new MenuItemGroup()
                {
                    MenuItem_ID = item, Group_ID = _GroupId, Ma_TTP = _MaTTP
                });
            }
            db.SaveChanges();

//            var _menu = db.Database.SqlQuery<MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b
//								                                    on a.Id=b.RoleId
//							                                      inner join MenuItemRoles c
//								                                    on a.Name=c.Role_ID
//							                                      inner join ApplicationUserGroups d
//								                                    on b.GroupId=d.GroupId
//							                                      inner join MenuItems e
//								                                    on c.MenuItem_ID=e.Item_ID
//							                                      inner join AspNetUsers f
//								                                    on d.UserId=f.Id
//                                                                where f.UserName=@UserName and e.isMenu=1"
//                  , new SqlParameter("@UserName", User.Identity.Name));

            var _menu = db.MenuItems.Where(m => m.isMenu == true).ToList();

            var _menuinGroup = db.MenuItemGroups.Where(m => m.Group_ID == _GroupId).ToList();

            List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>();

            foreach (var item1 in _menu)
            {
                RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1);
                foreach (var item2 in _menuinGroup)
                {
                    if (item2.MenuItem_ID == item1.Item_ID)
                    {
                        _itemView._checked = "checked";
                        _itemView.isCheck  = true;
                    }
                    else
                    {
                        _itemView.isCheck = false;
                    }
                }
                _lstViewMenu.Add(_itemView);
            }

            //Session["_menu"] = _lstViewMenu;

            RoleAddMenuViewModel root = new RoleAddMenuViewModel();

            root.Item_ID   = "0";
            root.Item_name = "Đây là root node";
            _lstViewMenu.Add(root);

            var tree = _lstViewMenu.ToTree();

            ViewBag.GroupName    = GroupName;
            ViewBag.GroupId      = _GroupId.ToString();
            ViewBag.SuccessGroup = "Phân quyền nhóm " + GroupName + " thành công!";
            return(View(tree));
        }
Exemplo n.º 6
0
        //Add menu to Role
        public ActionResult GroupAddMenu(string id)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            var _menu = new List <MenuItem>();

            if (User.Identity.Name.ToUpper() == "ADMIN")
            {
                _menu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where  isMenu=1 and isDisplay=1 ").ToList();
            }
            else
            {
                //                _menu = db.Database.SqlQuery<MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b
                //								                                    on a.Id=b.RoleId
                //							                                      inner join MenuItemRoles c
                //								                                    on a.Name=c.Role_ID
                //							                                      inner join ApplicationUserGroups d
                //								                                    on b.GroupId=d.GroupId
                //							                                      inner join MenuItems e
                //								                                    on c.MenuItem_ID=e.Item_ID
                //							                                      inner join AspNetUsers f
                //								                                    on d.UserId=f.Id
                //                                                                where  UserName=@UserName and e.isMenu=1"
                //                  , new SqlParameter("@UserName", User.Identity.Name)
                //                  ).ToList();

                _menu = db.MenuItems.Where(m => m.isMenu == true && m.isDisplay == true).ToList();
            }


            int _groupId     = int.Parse(id);
            var _menuinGroup = db.MenuItemGroups.Where(m => m.Group_ID == _groupId).ToList();

            List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>();

            foreach (var item1 in _menu)
            {
                RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1);
                foreach (var item2 in _menuinGroup)
                {
                    if (item2.MenuItem_ID == item1.Item_ID)
                    {
                        _itemView._checked = "checked";
                        _itemView.isCheck  = true;
                    }
                    else
                    {
                        _itemView.isCheck = false;
                    }
                }
                _lstViewMenu.Add(_itemView);
            }

            //Session["_menu"] = _lstViewMenu;

            RoleAddMenuViewModel root = new RoleAddMenuViewModel();

            root.Item_ID   = "0";
            root.Item_name = "Đây là root node";
            _lstViewMenu.Add(root);

            var tree = _lstViewMenu.ToTree();

            ViewBag.GroupName = db.Groups.FirstOrDefault(g => g.Id == _groupId).Name;
            ViewBag.GroupId   = _groupId.ToString();
            return(View(tree));
        }