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));
        }
Example #2
0
        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()
            });
        }
Example #5
0
        public static Expression <Func <OrganizationRecruiter, bool> > WhereFilter(RecruiterFilters filters)
        {
            var expr = PredicateBuilder.True <OrganizationRecruiter>();

            return(expr);
        }
Example #6
0
 public static IQueryable <OrganizationRecruiter> ApplyWhereFilters(this IQueryable <OrganizationRecruiter> entities,
                                                                    RecruiterFilters filters)
 {
     return(entities.Where(WhereFilter(filters)));
 }