public IEnumerable <DropdownTuple> GetFilterDropDownValues(FormDictionaryFilterBy filterBy) { switch (filterBy) { case FormDictionaryFilterBy.NoFilter: return(new List <DropdownTuple>()); case FormDictionaryFilterBy.ByType: return(Enum.GetValues(typeof(FormDictionaryType)) .Cast <FormDictionaryType>().Select(v => new DropdownTuple { Value = v.ToString(), Text = v.ToString() })); case FormDictionaryFilterBy.StationType: return(_db.ProjectRoadMaps.Select(v => new DropdownTuple { Value = v.Id.ToString(), Text = v.Name.ToString() })); case FormDictionaryFilterBy.Descipline: return(_db.Desciplines.Select(v => new DropdownTuple { Value = v.Id.ToString(), Text = v.Name.ToString() })); default: throw new ArgumentOutOfRangeException(nameof(filterBy), filterBy, null); } }
public static IQueryable <FormDictionaryListDto> FilterFormDictionaryBy( this IQueryable <FormDictionaryListDto> formDictioanry, FormDictionaryFilterBy filterBy, string filterValue) { if (string.IsNullOrEmpty(filterValue)) { return(formDictioanry); } switch (filterBy) { case FormDictionaryFilterBy.NoFilter: return(formDictioanry); case FormDictionaryFilterBy.ByType: var val = filterValue.ParseEnum <FormDictionaryType>(); return(formDictioanry.Where(s => s.Type == val)); case FormDictionaryFilterBy.StationType: var stVal = 0; int.TryParse(filterValue, out stVal); return(formDictioanry.Where(s => s.WorkPackageId == stVal)); case FormDictionaryFilterBy.Descipline: var desciplineId = 0; int.TryParse(filterValue, out desciplineId); return(formDictioanry.Where(s => s.DesciplinesIds.Contains(desciplineId))); default: throw new ArgumentOutOfRangeException (nameof(filterBy), filterBy, null); } }