public async Task <IActionResult> GetRecruiterStatistics([FromRoute] Guid organizationId, [FromQuery] RecruiterFilters filters, [FromQuery] CommonFilters pagingFilters) { var result = await _recruiterService .GetForOrganization <OrganizationRecruiterStatistics>(_agencyOwner.OrganizationId, filters, pagingFilters); AddPagination(pagingFilters, result.Total); return(Ok(result.Data)); }
public async Task <IActionResult> GetRecruiters( [FromRoute] Guid organizationId, [FromQuery] RecruiterFilters filters ) { var result = await _recruiterService .GetForOrganization <AccountManagerOrganizationRecruiterOutput>(_accountManager.OrganizationId, filters); return(Ok(result)); }
public Task <List <T> > GetForOrganization <T>(Guid organizationId, RecruiterFilters filters) where T : OrganizationRecruiterOutput { return(Repository.Queryable() .GetForOrganization(organizationId) .ApplyWhereFilters(filters) .ProjectTo <T>(ProjectionMapping) .OrderByDescending(x => x.IsDefault) .ToListAsync()); }
public async Task <PackedList <T> > GetForOrganization <T>(Guid organizationId, RecruiterFilters filters, CommonFilters pagingFilters) where T : OrganizationRecruiterOutput { var organizationRecruiters = Repository.Queryable() .GetForOrganization(organizationId) .ApplyWhereFilters(filters) .ProjectTo <T>(ProjectionMapping) .OrderByDescending(x => x.IsDefault); return(new PackedList <T> { Data = await organizationRecruiters.Paginate(pagingFilters.Page, pagingFilters.PageSize).ToListAsync(), Total = await organizationRecruiters.CountAsync() }); }
public static Expression <Func <OrganizationRecruiter, bool> > WhereFilter(RecruiterFilters filters) { var expr = PredicateBuilder.True <OrganizationRecruiter>(); return(expr); }
public static IQueryable <OrganizationRecruiter> ApplyWhereFilters(this IQueryable <OrganizationRecruiter> entities, RecruiterFilters filters) { return(entities.Where(WhereFilter(filters))); }