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 ActionResult Edit(PrivilegeViewModels Privilege)
        {
            if (Privilege.Parent.RoleName == null)
            {
                TempData["Error"] = "Name :" + Privilege.Parent.RoleName + " not exist!";
            }
            //check data in database if already exist skip
            var CheckData = _db.Roles.Where(x => x.RoleName == Privilege.Parent.RoleName && x.RoleId != Privilege.Parent.RoleId).ToList();

            if (CheckData.Count() == 0)
            {
                if (ModelState.IsValid)
                {
                    MenuRestrictionsBusinessLogic.getInstance().UpdateRole(Privilege.Parent.RoleId, Privilege.Parent.RoleName);
                    var dt = (from c in _db.MenuRestrictions
                              where c.RoleId == Privilege.Parent.RoleId
                              select c).ToList();
                    foreach (var item in dt)
                    {
                        MenuRestriction menuRestriction = new MenuRestriction();
                        menuRestriction.RestrictionId = item.RestrictionId;
                        menuRestriction.MenuId        = item.RestrictionId;
                        menuRestriction.RoleId        = item.RoleId;
                        menuRestriction.IsRead        = item.IsRead;
                        MenuRestrictionsBusinessLogic.getInstance().UpdateMenuRestriction(menuRestriction);
                    }
                    MenuRestrictionsBusinessLogic.getInstance().SaveMenu(Privilege.Menu, Privilege.Parent.RoleId);
                    TempData["Success"] = "Success Editing Data for " + Privilege.Parent.RoleName;
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                TempData["Error"] = "Name :" + Privilege.Parent.RoleName + " already exist!";
            }

            return(View(Privilege));
        }
        public ActionResult Create(PrivilegeViewModels Privilege)
        {
            //check data in database if already exist skip
            var CheckData = _db.Roles.Where(x => x.RoleName == Privilege.Parent.RoleName).ToList();

            if (CheckData.Count() == 0)
            {
                if (ModelState.IsValid)
                {
                    MenuRestrictionsBusinessLogic.getInstance().InsertRole(Privilege.Parent.RoleName);
                    var privilegeId = _db.Roles.Where(a => a.RoleName == Privilege.Parent.RoleName).Single().RoleId;
                    MenuRestrictionsBusinessLogic.getInstance().SaveMenu(Privilege.Menu, privilegeId);
                    TempData["Success"] = "Success saving Data for " + Privilege.Parent.RoleName;
                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                TempData["Error"] = "Name :" + Privilege.Parent.RoleName + " already exist!";
            }

            return(View(Privilege));
        }
 public ActionResult Index()
 {
     return(View(MenuRestrictionsBusinessLogic.getInstance().ListMenuRestriction()));
 }