public ActionResult Index(AddPermissionsViewModels model)
 {
     model.Permission.MenuItemId   = model.MenuItemId;
     model.Permission.PermissionId = model.PermissionId;
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     Enumerations.Permissions enumPermission = (Enumerations.Permissions)model.PermissionId;
     model.Permission.PermissionText = enumPermission.ToString();
     if (model.Permission.PagePermissionId > 0)
     {
         model.Permission.ObjectState = ObjectState.Modified;
         _pagePermissionsService.InsertOrUpdateGraph(model.Permission);
         saveResult = _unitOfWork.SaveChanges();
         if (saveResult.success)
         {
             TempData["SuccessMessage"] = "Updated successfully.";
             RouteData.Values.Remove("id");
         }
     }
     else
     {
         model.Permission.ObjectState = ObjectState.Added;
         _pagePermissionsService.InsertOrUpdateGraph(model.Permission);
         saveResult = _unitOfWork.SaveChanges();
         if (saveResult.success)
         {
             TempData["SuccessMessage"] = "Added successfully.";
         }
     }
     return(RedirectToAction("Index", new { rgid = model.GroupId, rid = model.Permission.MenuItemId, id = string.Empty }));
 }
        public ActionResult Index(int rgid = 0, int rid = 0, int id = 0)
        {
            AddPermissionsViewModels model = new AddPermissionsViewModels();

            model.Permission            = new PagePermissions();
            model.Permission.MenuItemId = rid;
            model.GroupId            = rgid;
            model.MenuItemId         = rid;
            model.MenuItemsGroupList = _menuItemsService.GetAllGroups();
            if (rid > 0)
            {
                var pList = _pagePermissionsService.GetAllPermissionsByResourceId(rid);
                model.PermissionsList = pList == null ? new List <PagePermissions>() : pList.ToList();
            }
            var rList = _menuItemsService.GetAllResourcesByGroupId(rgid);

            model.MenuItemsList = rList == null ? new List <MenuItemsListViewModels>() : rList.ToList();
            if (id > 0)
            {
                var permission = _pagePermissionsService.QueryableCustom().Where(w => w.PagePermissionId == id && w.IsActive).FirstOrDefault();
                model.Permission   = permission == null?new PagePermissions(): permission;
                model.PermissionId = model.Permission.PermissionId;
            }
            return(View(model));
        }