Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }