public static IEnumerable <JiraWorkLogDto> FilterBySprintDates(this IEnumerable <JiraWorkLogDto> source, ISprintFilter searchParams, IEnumerable <SprintDto> sprints) { if (!sprints.Any()) { return(source); } SprintDto firstSprint = sprints.OrderBy(x => x.StartDate).First(); return(source.Where(x => x.FilterAfterStartDate(firstSprint))); }
public static IEnumerable <T> FilterState <T>(this IEnumerable <T> source, ISprintFilter searchParamsDto, Func <T, SprintState, bool> filter) => source.WhereIf(searchParamsDto.SprintState != null, x => filter(x, searchParamsDto.SprintState.Value));