public ActionResult <List <PetType> > Get([FromQuery] string prop, string val)//Filter filter) { if (prop != null) { if (val == null) { return(StatusCode(500, "Request Failed - no value provided for search")); } Filter filter = new Filter(); string property = prop.ToLower(); string value = val.ToLower(); filter.Property = property; filter.Value = value; if (property == "name") { List <PetType> searchedPetTypes = _petTypeService.FindPetTypesByProperty(filter); if (searchedPetTypes.Count == 0) { return(StatusCode(404, "No pet type with the " + filter.Property + " '" + filter.Value + "' was found")); } else { return(StatusCode(200, searchedPetTypes)); } } else { return(StatusCode(500, "Request Failed - The pet type property '" + property + "' does not exist")); } } else { return(StatusCode(200, _petTypeService.GetAllPetTypes())); } }