public IEnumerable <DropdownTuple> GetFilterDropDownValues(PersonFilterBy filterBy) { switch (filterBy) { case PersonFilterBy.NoFilter: return(new List <DropdownTuple>()); case PersonFilterBy.Project: return(_db.Projects.Select(s => new DropdownTuple { Text = s.Description, Value = s.Id.ToString() })); default: throw new ArgumentOutOfRangeException(nameof(filterBy), filterBy, null); } }
public static IQueryable <Person> FiltePersonBy( this IQueryable <Person> persons, PersonFilterBy filterBy, string filterValue) { if (string.IsNullOrEmpty(filterValue)) { return(persons); } switch (filterBy) { case PersonFilterBy.NoFilter: return(persons); case PersonFilterBy.Project: Guid pid = Guid.Parse(filterValue); return(persons.Where(x => x.ProjectLink.Any(s => s.ProjectId == pid))); default: throw new ArgumentOutOfRangeException (nameof(filterBy), filterBy, null); } }