private void LoadRecipes()
{
String file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, recipesFile);
if (File.Exists(file))
{
using (var streamReader = new StreamReader(file))
{
using (var jsonTextReader = new JsonTextReader(streamReader))
{
JToken token = JObject.ReadFrom(jsonTextReader);
for (int i = 0; i < token.Count(); i++)
{
Recipe r = new Recipe()
{
Id = token[i]["ID"].ToObject<int>(),
ExternalId = token[i]["ExternalID"].ToObject<int>(),
DataId = token[i]["DataID"].ToObject<int>(),
Name = token[i]["Name"].ToObject<String>(),
Rating = token[i]["Rating"].ToObject<int>(),
Type = token[i]["Type"].ToObject<int>(),
Quantity = token[i]["Count"].ToObject<int>(),
CreatedItemId = token[i]["CreatedItemId"].ToObject<int>()
};
for (int j = 0; j < token[i]["Ingredients"].Count(); j++)
{
Recipe ingredients = new Recipe()
{
ItemId = token[i]["Ingredients"][j]["ItemID"].ToObject<int>(),
Quantity = token[i]["Ingredients"][j]["Count"].ToObject<int>(),
};
int dataId = ItemIdToDataId[ingredients.ItemId];
//SlimItem item = DataIdToSlimItem[dataId];
ingredients.DataId = dataId;
r.RecipeItems.Add(ingredients);
}
if (!CreatedIdToRecipe.ContainsKey(r.CreatedItemId))
{
CreatedIdToRecipe.Add(r.CreatedItemId, r);
}
RecipeIdToRecipe.Add(r.Id, r);
RecipeDB.Add(r);
}
}
}
}
if (RecipesLoaded != null)
{
RecipesLoaded(this, new EventArgs());
}
}