public Task <PackedList <T> > GetForOrganization <T>(Guid organizationId, ContractorFilters filters, CommonFilters pagingFilters) where T : OrganizationContractorOutput { return(Repository.Queryable() .ApplyWhereFilters(filters) .Where(x => x.OrganizationId == organizationId) .PaginateProjection <OrganizationContractor, T>(pagingFilters, ProjectionMapping)); }
public async Task <IActionResult> GetContractors( [FromRoute] Guid organizationId, [FromQuery] ContractorFilters filters ) { var co = await _contractorService .GetForOrganization <ProjectManagerOrganizationContractorOutput>(organizationId, filters); return(Ok(co)); }
public Task <List <T> > GetForOrganization <T>(Guid organizationId, ContractorFilters filters) where T : OrganizationContractorOutput { return(Repository.Queryable() .ApplyWhereFilters(filters) .Where(x => x.OrganizationId == organizationId) .ProjectTo <T>(ProjectionMapping) .ToListAsync()); }
public async Task <IActionResult> GetContractorStatistics([FromRoute] Guid organizationId, [FromRoute] ContractorFilters filters, [FromQuery] CommonFilters pagingFilters) { var result = await _contractorService .GetForOrganization <OrganizationContractorStatistics>(_accountManager.OrganizationId, filters, pagingFilters); AddPagination(pagingFilters, result.Total); return(Ok(result.Data)); }
public static Expression <Func <OrganizationContractor, bool> > WhereFilter(ContractorFilters filters) { var expr = PredicateBuilder.True <OrganizationContractor>(); if (filters.ProjectId.HasValue) { expr = expr.And(x => x.Contracts.Select(a => a.ProjectId) .Contains(filters.ProjectId.Value)); } return(expr); }
public async Task <IActionResult> GetContractorList([FromRoute] Guid organizationId, [FromQuery] ContractorFilters filters) { var result = await _contractorService.GetForOrganization <AccountManagerOrganizationContractorOutput>(_accountManager .OrganizationId, filters); return(Ok(result)); }
public static IQueryable <OrganizationContractor> ApplyWhereFilters(this IQueryable <OrganizationContractor> entities, ContractorFilters filters) { return(entities.Where(WhereFilter(filters))); }