public Task <PackedList <T> > GetStories <T>(IOrganizationCustomer cu, StoryFilters filters) where T : CustomerStoryOutput { return(Repository.Queryable().ForOrganizationCustomer(cu) .ApplyWhereFilters(filters) .PaginateProjection <Story, T>(filters, ProjectionMapping)); }
public Task <PackedList <T> > GetStories <T>(IProviderAgencyOwner ao, StoryFilters filters ) where T : AgencyOwnerStoryOutput { return(Repository.Queryable().ForAgencyOwner(ao) .ApplyWhereFilters(filters) .PaginateProjection <Story, T>(filters, ProjectionMapping)); }
public Task <PackedList <T> > GetStories <T>(IOrganizationAccountManager am, StoryFilters filters ) where T : AccountManagerStoryOutput { return(Repository.Queryable().ForOrganizationAccountManager(am) .ApplyWhereFilters(filters) .PaginateProjection <Story, T>(filters, ProjectionMapping)); }
public async Task <IActionResult> GetAssignedStories([FromRoute] Guid organizationId, [FromQuery] StoryFilters filters) { var stories = await _storyService.GetStories <ContractorStoryOutput>(_contractor, filters); AddPagination(filters, stories.Total); return(Ok(stories.Data)); }
public static Expression <Func <Story, bool> > FromFilter(StoryFilters filters) { var expr = PredicateBuilder.True <Story>(); if (filters.ProjectId.HasValue) { expr = expr.And(x => x.ProjectId == filters.ProjectId); } return(expr); }
private static Expression <Func <Story, bool> > WhereFilter(StoryFilters filters) { var expr = PredicateBuilder.True <Story>(); if (filters.CustomerId.HasValue) { expr = expr.And(x => x.Project.CustomerId == filters.CustomerId); } if (filters.CustomerOrganizationId.HasValue) { expr = expr.And(x => x.Project.CustomerOrganizationId == filters.CustomerOrganizationId); } if (filters.ContractorId.HasValue) { expr = expr.And(x => x.ContractorId == filters.ContractorId); } if (filters.ContractorOrganizationId.HasValue) { expr = expr.And(x => x.ContractorOrganizationId == filters.ContractorOrganizationId); } if (filters.AccountManagerId.HasValue) { expr = expr.And(x => x.Project.AccountManagerId == filters.AccountManagerId); } if (filters.AccountManagerOrganizationId.HasValue) { expr = expr.And(x => x.Project.AccountManagerOrganizationId == filters.AccountManagerOrganizationId); } if (filters.ProjectId.HasValue) { expr = expr.And(x => x.ProjectId == filters.ProjectId); } if (filters.StoryStatus.Any()) { expr = expr.And(x => filters.StoryStatus.Contains(x.Status)); } return(expr); }
public static IQueryable <Story> ApplyWhereFilters(this IQueryable <Story> entities, StoryFilters filters) { return(entities.Where(WhereFilter(filters))); }