public async Task <IActionResult> GetProjectManagerStatistics([FromRoute] Guid organizationId, [FromQuery] ProjectManagerFilters filter, [FromQuery] CommonFilters pagingFilters) { var result = await _projectManagerService .GetForOrganization <OrganizationProjectManagerStatistics>(_agencyOwner.OrganizationId, filter, pagingFilters); AddPagination(pagingFilters, result.Total); return(Ok(result.Data)); }
public Task <List <T> > GetForOrganization <T>(Guid organizationId, ProjectManagerFilters filters) where T : OrganizationProjectManagerOutput { return(Repository.Queryable() .ApplyWhereFilters(filters) .Where(x => x.OrganizationId == organizationId) .ProjectTo <T>(ProjectionMapping) .OrderByDescending(x => x.IsDefault) .ToListAsync()); }
public async Task <PackedList <T> > GetForOrganization <T>(Guid organizationId, ProjectManagerFilters filters, CommonFilters pagingFilters) where T : OrganizationProjectManagerOutput { var organizationProjectManagers = Repository.Queryable() .ApplyWhereFilters(filters) .Where(x => x.OrganizationId == organizationId) .ProjectTo <T>(ProjectionMapping) .OrderByDescending(x => x.IsDefault); return(new PackedList <T> { Data = await organizationProjectManagers.Paginate(pagingFilters.Page, pagingFilters.PageSize).ToListAsync(), Total = await organizationProjectManagers.CountAsync() }); }
public async Task <IActionResult> GetProjectManagerList([FromRoute] Guid organizationId, [FromQuery] ProjectManagerFilters filters) { var result = await _projectManagerService.GetForOrganization <AgencyOwnerOrganizationProjectManagerOutput>( _agencyOwner.OrganizationId, filters); return(Ok(result)); }
public static Expression <Func <OrganizationProjectManager, bool> > WhereFilter(ProjectManagerFilters filters) { var expr = PredicateBuilder.True <OrganizationProjectManager>(); return(expr); }
public static IQueryable <OrganizationProjectManager> ApplyWhereFilters(this IQueryable <OrganizationProjectManager> entities, ProjectManagerFilters filters) { return(entities.Where(WhereFilter(filters))); }