Пример #1
0
        public SearchResult <RoleDTO> GetDataByFilter(RoleSearchFilter filter)
        {
            if (string.IsNullOrEmpty(filter.SortName))
            {
                filter.SortName = "Role_PK";
            }
            RoleQuery roleQuery = new RoleQuery(this.Db);

            var filteredRecords =
                roleQuery.GetQuery()
                .Where(role =>
                       role.Title.Contains(filter.Keyword)
                       ||
                       role.Description.Contains(filter.Keyword));

            var displayedRecords = filteredRecords.
                                   SortBy(filter.SortName, filter.SortDir)
                                   .Skip(filter.Skip)
                                   .Take(filter.PageSize).ToList();

            var searchResult = new SearchResult <RoleDTO>(filter);

            searchResult.Filter               = filter;
            searchResult.Count.TotalRecords   = roleQuery.GetTotalRecords();
            searchResult.Count.TotalFiltered  = filteredRecords.Count();
            searchResult.Count.TotalDisplayed = displayedRecords.Count();
            searchResult.Records              = displayedRecords;

            return(searchResult);
        }
Пример #2
0
 public virtual ActionResult Manage(RoleSearchFilter filter)
 {
     if (!Request.IsAjaxRequest())
     {
         return(View(_roleSrv.Get(filter)));
     }
     else
     {
         return(PartialView("Partials/_List", _roleSrv.Get(filter)));
     }
 }
Пример #3
0
        public RoleListModel Get(RoleSearchFilter searchFilter)
        {
            RoleListFormData       formData     = new RoleListFormData();
            SearchResult <RoleDTO> searchResult = roleSearch.GetDataByFilter(searchFilter);

            return(new RoleListModel()
            {
                FormData = formData,
                SearchResult = searchResult
            });
        }
Пример #4
0
        public IHttpActionResult Search([FromUri] RoleSearchFilter filter)
        {
            ThrowIfUserHasNoRole(readRole);
            if (filter == null)
            {
                throw new KairosException("Missing search filter parameter");
            }

            using (var roleSearch = new RoleSearch(Db))
            {
                var data = roleSearch.GetDataByFilter(filter);
                return(Ok(new SuccessResponse(data)));
            }
        }
Пример #5
0
        public IHttpActionResult Search([FromUri] RoleSearchFilter filter)
        {
            string accessType = "Role_ViewAll";

            ThrowIfUserCannotAccess(accessType);
            if (filter == null)
            {
                throw new KairosException("Missing search filter parameter");
            }

            using (var roleSearch = new RoleSearch(Db))
            {
                var data = roleSearch.GetDataByFilter(filter);
                return(Ok(new SuccessResponse(data)));
            }
        }
Пример #6
0
        public PagingListDetails <Role> Get(RoleSearchFilter filter)
        {
            Expression <Func <Role, bool> > conditions = x => true;

            if (filter != null)
            {
                if (!string.IsNullOrWhiteSpace(filter.RoleNameFaF))
                {
                    conditions = conditions.And(x => x.RoleNameFa.Contains(filter.RoleNameFaF));
                }
                if (!string.IsNullOrWhiteSpace(filter.RoleNameEnF))
                {
                    conditions = conditions.And(x => x.RoleNameEn.Contains(filter.RoleNameEnF));
                }
            }

            return(_authUow.RoleRepo.Get(conditions, filter, x => x.OrderByDescending(i => i.RoleId)));
        }
Пример #7
0
        public PaginatedList <RoleItemView> Search(RoleSearchFilter filter, PaginationInfoView paginationInfo)
        {
            var query = _repository.Query <Role>();

            if (!string.IsNullOrWhiteSpace(filter.Name))
            {
                query = query.Where(x => x.Name == filter.Name);
            }
            if (!string.IsNullOrWhiteSpace(filter.Code))
            {
                query = query.Where(x => x.Code == filter.Code);
            }
            var newQuery = query.Select(
                x => new RoleItemView
            {
                Name = x.Name,
                Code = x.Code,
                Id   = x.Id
            });

            return(new PaginatedList <RoleItemView>(paginationInfo, newQuery));
        }