Esempio n. 1
0
 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));
 }
Esempio n. 2
0
        public async Task <IActionResult> GetContractors(
            [FromRoute] Guid organizationId, [FromQuery] ContractorFilters filters
            )
        {
            var co = await _contractorService
                     .GetForOrganization <ProjectManagerOrganizationContractorOutput>(organizationId, filters);

            return(Ok(co));
        }
Esempio n. 3
0
 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)));
 }