public async Task <QueryResultDto <EmployerDto, EmployerFilterDto> > GetEmployerForFilter( EmployerFilterDto employerFilterDto) { using (UnitOfWorkProvider.Create()) { return(await employerService.GetFiltered(employerFilterDto)); } }
//[AbpAuthorize(PermissionNames.AdminPage_Employer)] public virtual async Task <PagedResultDto <EmployerDto> > GetAll(EmployerFilterDto input) { var query = employerRepository.GetAll() .WhereIf(input.Id != null, p => p.Id == input.Id) .WhereIf(input.NameCompany != null, p => p.NameCompany == input.NameCompany) .WhereIf(input.Email != null, p => p.EmailAddress == input.Email) .WhereIf(input.PhoneNumber != null, p => p.PhoneNumber == input.PhoneNumber) .WhereIf(input.PhoneNumber != null, p => p.PhoneNumber == input.PhoneNumber); var totalCount = await query.CountAsync(); query = ApplySorting(query, input); query = ApplyPaging(query, input); var entities = await query.ToListAsync(); return(new PagedResultDto <EmployerDto>( totalCount, entities.Select(p => p.MapTo <EmployerDto>()) .ToList() )); }
protected override IQuery <Employer> ApplyWhereClause(IQuery <Employer> query, EmployerFilterDto filter) { List <IPredicate> predicates = new List <IPredicate>(); if (!string.IsNullOrWhiteSpace(filter.Email)) { predicates.Add(new SimplePredicate(nameof(Employer.Email), ValueComparingOperator.Equal, filter.Email)); } if (!string.IsNullOrWhiteSpace(filter.Name)) { predicates.Add(new SimplePredicate(nameof(Employer.Name), ValueComparingOperator.Equal, filter.Name)); } if (predicates.Count > 0) { return(query.Where(new CompositePredicate(predicates))); } return(query); }
protected virtual IQueryable <Employer> ApplyPaging(IQueryable <Employer> query, EmployerFilterDto input) { var pagedInput = input as IPagedResultRequest; if (pagedInput != null) { return(query.PageBy(pagedInput)); } var limitedInput = input as ILimitedResultRequest; if (limitedInput != null) { return(query.Take(limitedInput.MaxResultCount)); } return(query); }
protected virtual IQueryable <Employer> ApplySorting(IQueryable <Employer> query, EmployerFilterDto input) { var sortInput = input as ISortedResultRequest; if (sortInput != null) { if (sortInput.Sorting.IsNotNullOrEmpty()) { return(query.OrderBy(sortInput.Sorting)); } } if (input is ILimitedResultRequest) { return(query.OrderByDescending(e => e.Id)); } return(query); }