public static IEnumerable <Tyre> GetTyres(string id = "%", string name = "%") { var reader = InventoryDb.GetTyres(id, name).CreateDataReader(); while (reader.Read()) { // create tyre from retrieved data var pId = int.Parse(reader["Item_ID"].ToString()); var pName = reader["ProductName"].ToString(); var pStock = int.Parse(reader["Stock"].ToString()); var pPrice = decimal.Parse(reader["Price"].ToString()); var pBrand = reader["Brand"].ToString(); var pDimension = reader["Dimension"].ToString(); var pCountry = reader["Country"].ToString(); yield return(new Tyre(pId, pName, pBrand, pDimension, pCountry, pPrice, pStock)); } reader.Close(); }