internal static YeastIngredientDataModel GetYeastIngredientForRecipe(int recipeId, SQLiteConnection connection) { using var selectIngredientsCommand = connection.CreateCommand(); selectIngredientsCommand.CommandText = "SELECT YeastIngredients.id, YeastIngredients.weight, YeastIngredients.volume, Yeasts.id, Yeasts.name, Yeasts.type, Yeasts.form, Yeasts.laboratory, Yeasts.productId, Yeasts.minTemperature, Yeasts.maxTemperature, Yeasts.flocculation, Yeasts.attenuation, Yeasts.notes FROM YeastIngredients " + "JOIN Recipes ON Recipes.yeastIngredientInfo = YeastIngredients.id AND Recipes.id = @recipeId " + "JOIN Yeasts ON Yeasts.id = YeastIngredients.yeastInfo " + "LIMIT 1"; selectIngredientsCommand.Parameters.AddWithValue("recipeId", recipeId); using var reader = selectIngredientsCommand.ExecuteReader(); while (reader.Read()) { var characteristics = new YeastCharacteristics(reader.GetString(5), reader.GetString(11), reader.GetString(6)) { Attenuation = reader.GetFloat(12), MinTemperature = reader.GetFloat(9), MaxTemperature = reader.GetFloat(10) }; var yeastInfo = new Yeast.Yeast(reader.GetString(4), characteristics, reader.GetString(13), reader.GetString(7), reader.GetString(8)); return(new YeastIngredientDataModel(yeastInfo, reader.GetInt32(0)) { Volume = reader.GetFloat(2), Weight = reader.GetFloat(1) }); } return(null); }
public YeastIngredientDataModel(Yeast.Yeast yeastInfo, int yeastIngredientId) { m_yeastInfo = yeastInfo; YeastIngredientId = yeastIngredientId; }