public JsonResult GetSecurables() { JsonResult result = new JsonResult(); var securables = SecurableServices.GetSecurable <Securable>() .GroupBy(a => new { a.RegistrationType_LookUpId }) .Select(r => new { id = r.Select(x => x.SecurableID), registrationType = r.Key.RegistrationType_LookUpId, RegistrationTypeName = r.Select(x => x.RegistrationType.LookUpDescription).Distinct().FirstOrDefault(), IsChecked = false, pageList = r.GroupBy(b => new { b.PageID }) .Select(p => new { id = p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.SecurableID).FirstOrDefault(), pageID = p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.PageID).FirstOrDefault(), PageName = p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.PageDescription).FirstOrDefault(), IsChecked = false, operationList = r.Where(x => x.PageID == p.Key.PageID && x.Type == 2) //r.GroupBy(c=>new { c.PageID }) .Select(o => new { id = o.SecurableID, OperationID = o.OperationID, OperationName = o.OperationDescription, IsChecked = false, Access = false }) .ToList() }).ToList() }).ToList(); result = Json(new { sucess = true, Securable = securables }, JsonRequestBehavior.AllowGet); return(result); }
public JsonResult GetSecurablebyId(string role) { JsonResult Result = new JsonResult(); var rightsList = RoleRightService.GetRoleRights <RoleRight>().Where(x => x.RoleCode == role && x.CompanyId == USER_OBJECT.CompanyId).AsEnumerable(); var securables = SecurableServices.GetSecurable <Securable>() .GroupBy(a => new { a.RegistrationType_LookUpId }).ToList() .Select(r => new { id = r.Select(x => x.SecurableID), registrationType = r.Key.RegistrationType_LookUpId, RegistrationTypeName = r.Select(x => x.RegistrationType.LookUpDescription).Distinct().FirstOrDefault(), IsChecked = false, pageList = r.GroupBy(b => new { b.PageID }) .Select(p => new { id = p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.SecurableID).FirstOrDefault(), pageID = p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.PageID).FirstOrDefault(), PageName = p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.PageDescription).FirstOrDefault(), // && rr.AccessRight !=0 IsChecked = rightsList.Where(rr => rr.SecurableID == (p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.SecurableID).FirstOrDefault())).Count() > 0, Access = rightsList.Where(rr => rr.SecurableID == (p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.SecurableID).FirstOrDefault())).Count() > 0 ? rightsList.Where(rr => rr.SecurableID == (p.Where(x => x.PageID == p.Key.PageID && x.Type == 1).Select(x => x.SecurableID).FirstOrDefault())).FirstOrDefault().AccessRight : 0, operationList = r.Where(x => x.PageID == p.Key.PageID && x.Type == 2) //r.GroupBy(c=>new { c.PageID }) .Select(o => new { id = o.SecurableID, OperationID = o.OperationID, OperationName = o.OperationDescription, IsChecked = rightsList.Where(rr => rr.SecurableID == (o.SecurableID)).Count() > 0, }) .ToList() }).ToList() }).ToList(); Result = Json(new { sucess = true, Securable = securables }, JsonRequestBehavior.AllowGet); return(Result); }