public ActionResult Create()
        {
            PrivilegeViewModels model = new PrivilegeViewModels();

            model.Parent = null;
            model.Menu   = MenuList("0", SessionManager.userId());
            return(View(model));
        }
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PrivilegeViewModels model = new PrivilegeViewModels();

            model.Parent = _db.Roles.Find(id);
            model.Menu   = MenuEdit("0", id, SessionManager.userId());

            if (model.Parent == null)
            {
                return(HttpNotFound());
            }
            return(View(model));
        }
        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));
        }