예제 #1
0
        public JsonResult AddEditUserRolePermissionData(string Model)
        {
            List <ScreenAccess_VM> myModel = (List <ScreenAccess_VM>)JsonConvert.DeserializeObject(Model, (typeof(List <ScreenAccess_VM>)));

            if (myModel[0].ScreenID != null)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        GetUserInfo(myModel[0]);

                        if (myModel[0].ScreenID > 0)
                        {
                            var result = _RoleRepo.AddScreenUserRole(myModel);

                            if (result > 0)
                            {
                                try
                                {
                                    Accesspermission_Wrapper _obj = _RoleRepo.GetMenuAndScreenData(new ScreenAccess_VM()
                                    {
                                        UserRoleID = myModel[0].UserRoleID
                                    });
                                    /*Update server cache for all login users by userrole*/

                                    HttpContext.Cache["objMenu" + myModel[0].UserRoleID]   = _obj.MenuList;            /* also store to localstorage*/
                                    HttpContext.Cache["objAction" + myModel[0].UserRoleID] = _obj.ScreenActionList;    /* also store to localstorage*/
                                }
                                catch (Exception)
                                {
                                }
                            }

                            return(Json(new JsonResponse("Success", saveMessage, result), JsonRequestBehavior.AllowGet));
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.Error("UserRoleController_AddEditUserRolePermissionData Error: ", ex);

                        return(Json(new JsonResponse("Error", "Error occured while processing request: " + ex.Message.ToString(), null), JsonRequestBehavior.AllowGet));
                    }
                }
            }

            return(Json(new JsonResponse("Error", "Data can not be null.", null), JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public Accesspermission_Wrapper GetMenuAndScreenData(ScreenAccess_VM Model)
        {
            Accesspermission_Wrapper query = new Accesspermission_Wrapper();

            using (var db = new DBConnection())
            {
                DataSet ds = db.ExecuteDataSet("GetMenuAndScreenData", new SqlParameter[] {
                    new SqlParameter("@pUserRoleID", GetDBNULL(Model.UserRoleID))
                });

                query.MenuList         = ConvertToList <MenuScreen_VM>(ds.Tables[0]);
                query.ScreenActionList = ConvertToList <ScreenAction_VM>(ds.Tables[1]);
            }

            return(query);
        }