Exemplo n.º 1
0
        public AuthorizationPolicyRolesPageList GetAuthoricationPolicyRoles(long id, RoleAuthorizationPolicyFilter filter)
        {
            var search = filter.Keyword != null?filter.Keyword.ToLower() : "";

            var query = from roleAuthorization in _roleAuthorizationPolicyRepository.Get(x => x.AuthorizationPolicyId == id)
                        join role in _roleRepository.Table
                        on roleAuthorization.RoleId equals role.Id
                        where string.IsNullOrEmpty(search) || role.Name.ToLower().Contains(search) ||
                        (role.Description != null && role.Description.ToLower().Contains(search))
                        select new RoleResult()
            {
                Id          = role.Id,
                Name        = role.Name,
                Description = role.Description
            };

            var filteredNumber = query.Select(x => x.Id).Count();
            var roles          = query.Skip(filter.PageSize * (filter.Page - 1))
                                 .Take(filter.PageSize).ToList();

            var authorizationPolicy = _authorizationPolicyRepository.Get(x => x.Id == id)
                                      .Select(x => new AuthorizationPolicyRolesPageList
            {
                Id          = x.Id,
                Name        = x.Name,
                Description = x.Description,
            })
                                      .FirstOrDefault();

            authorizationPolicy.Collections = roles;
            authorizationPolicy.TotalResult = filteredNumber;
            authorizationPolicy.TotalPage   = (int)Math.Ceiling((double)filteredNumber / filter.PageSize);

            return(authorizationPolicy);
        }
        public IActionResult Index(RoleAuthorizationPolicyFilterModel filter)
        {
            var filterRequest = new RoleAuthorizationPolicyFilter
            {
                Page     = filter.Page,
                PageSize = _pagerOptions.PageSize,
                Keyword  = filter.Search
            };
            var authorizationRole = _roleAuthorizationPolicyService.GetAuthoricationPolicyRoles(filter.Id, filterRequest);
            var roles             = authorizationRole.Collections.Select(x => new RoleModel
            {
                CreatedById   = x.CreatedById,
                Name          = x.Name,
                CreatedByName = x.CreatedByName,
                Description   = x.Description,
                CreatedDate   = x.CreatedDate,
                Id            = x.Id,
                UpdatedById   = x.UpdatedById,
                UpdatedByName = x.UpdatedByName,
                UpdatedDate   = x.UpdatedDate
            });
            var authorizationRolesPage = new AuthorizationPolicyRolesModel(roles)
            {
                Description = authorizationRole.Description,
                Filter      = filter,
                Id          = authorizationRole.Id,
                Name        = authorizationRole.Name,
                TotalPage   = authorizationRole.TotalPage,
                TotalResult = authorizationRole.TotalResult,
            };

            authorizationRolesPage.Filter = filter;

            if (_httpHelper.IsAjaxRequest(Request))
            {
                return(PartialView("_RoleAuthorizationPolicyTable", authorizationRolesPage));
            }

            return(View(authorizationRolesPage));
        }
 public AuthorizationPolicyRolesPageList GetAuthoricationPolicyRoles(long id, RoleAuthorizationPolicyFilter filter)
 {
     return(_roleAuthorizationPolicyRepository.GetAuthoricationPolicyRoles(id, filter));
 }