Beispiel #1
0
        public async Task <IActionResult> Index(AuthorizationPolicyFilterModel filter)
        {
            var filterRequest = new AuthorizationPolicyFilter
            {
                Page     = filter.Page,
                PageSize = _pagerOptions.PageSize,
                Keyword  = filter.Search
            };
            var policiesPageList = _authorizationPolicyService.Get(filterRequest);

            var policyModels = policiesPageList.Collections.Select(x => new AuthorizationPolicyModel
            {
                CreatedById   = x.CreatedById,
                CreatedDate   = x.CreatedDate,
                CreatedByName = x.CreatedByName,
                UpdatedById   = x.UpdatedById,
                UpdatedDate   = x.CreatedDate,
                UpdatedByName = x.CreatedByName,
                Description   = x.Description,
                Id            = x.Id,
                Name          = x.Name
            }).ToList();
            var canViewUserAuthorizationPolicy = await _userManager.HasPolicyAsync(User, AuthorizePolicyConst.CanReadUserAuthorizationPolicy);

            var canViewRoleAuthorizationPolicy = await _userManager.HasPolicyAsync(User, AuthorizePolicyConst.CanReadRoleAuthorizationPolicy);

            policyModels.ForEach(x =>
            {
                x.CanViewRoleAuthorizationPolicy = canViewRoleAuthorizationPolicy;
                x.CanViewUserAuthorizationPolicy = canViewUserAuthorizationPolicy;
            });

            var policiesPage = new PageListModel <AuthorizationPolicyModel>(policyModels)
            {
                Filter      = filter,
                TotalPage   = policiesPageList.TotalPage,
                TotalResult = policiesPageList.TotalResult
            };

            if (_httpHelper.IsAjaxRequest(Request))
            {
                return(PartialView("_AuthorizationPolicyTable", policiesPage));
            }

            return(View(policiesPage));
        }
Beispiel #2
0
        public BasePageList <AuthorizationPolicyResult> Get(AuthorizationPolicyFilter filter)
        {
            var search = filter.Keyword != null?filter.Keyword.ToLower() : "";

            var query = (from policy in _authorizationPolicyRepository.Table
                         join createdBy in _userRepository.Table
                         on policy.CreatedById equals createdBy.Id
                         join updatedBy in _userRepository.Table
                         on policy.UpdatedById equals updatedBy.Id
                         where string.IsNullOrEmpty(search) || policy.Name.ToLower().Contains(search) ||
                         (policy.Description != null && policy.Description.ToLower().Contains(search))
                         select new AuthorizationPolicyResult()
            {
                CreatedById = policy.CreatedById,
                CreatedByName = createdBy.Lastname + " " + createdBy.Firstname,
                CreatedDate = policy.CreatedDate,
                UpdatedById = policy.UpdatedById,
                UpdatedByName = updatedBy.Lastname + " " + updatedBy.Firstname,
                UpdatedDate = policy.UpdatedDate,
                Description = policy.Description,
                Id = policy.Id,
                Name = policy.Name
            });

            var filteredNumber = query.Select(x => x.Id).Count();

            var authorizationPolicies = query.Skip(filter.PageSize * (filter.Page - 1))
                                        .Take(filter.PageSize)
                                        .ToList();

            var result = new BasePageList <AuthorizationPolicyResult>(authorizationPolicies)
            {
                TotalResult = filteredNumber,
                TotalPage   = (int)Math.Ceiling((double)filteredNumber / filter.PageSize)
            };

            return(result);
        }
Beispiel #3
0
 public BasePageList <AuthorizationPolicyResult> Get(AuthorizationPolicyFilter filter)
 {
     return(_authorizationPolicyRepository.Get(filter));
 }