Esempio n. 1
0
 public async Task <QueryResultDto <EmployerDto, EmployerFilterDto> > GetEmployerForFilter(
     EmployerFilterDto employerFilterDto)
 {
     using (UnitOfWorkProvider.Create())
     {
         return(await employerService.GetFiltered(employerFilterDto));
     }
 }
Esempio n. 2
0
        //[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()
                       ));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }