public void Add(Recipe recipe) { if (recipe != null) { List<Recipe> tempList = new List<Recipe>(); Clear(); recipe.IsRoot = true; recipe.BuildRecipe(HotItemController); tempList.Add(recipe); Recipes = new ObservableCollection<Recipe>(tempList); SelectedRecipe = recipe; } }
public void BuildRecipe(HotItemController c) { this.IsExpanded = true; if (c.ItemIdToDataId.ContainsKey(CreatedItemId)) { Name = "loading..."; this.DataId = c.ItemIdToDataId[CreatedItemId]; } if (!IsRoot) { if (c.CreatedIdToRecipe.ContainsKey(ItemId)) { List<Recipe> tempList = new List<Recipe>(); for (int i = 0; i < c.CreatedIdToRecipe[ItemId].RecipeItems.Count; i++) { var r = c.CreatedIdToRecipe[ItemId].RecipeItems[i]; Recipe recipe = new Recipe(r.DataId, r.Quantity * this.Quantity); recipe.ItemId = r.ItemId; recipe.CreatedItemId = r.CreatedItemId; recipe.RecipeItems = r.RecipeItems; recipe.Name = "loading..."; tempList.Add(recipe); } RecipeItems = new ObservableCollection<Recipe>(tempList); } } c.RegisterRecipeItem(this); for (int i = 0; i < RecipeItems.Count; i++) { RecipeItems[i].BuildRecipe(c); } }
public Recipe AddDeep(int dataId, int quantity) { Recipe r = new Recipe(dataId, quantity); RecipeItems.Add(r); return r; }
public Recipe Add(Recipe recipe) { RecipeItems.Add(recipe); return recipe; }
public static Recipe CreateSample() { Recipe r = new Recipe(13901, 1) { IsRoot = true }; r.AddDeep(12973, 1).AddDeep(19712, 6).AddDeep(19725, 18); r.AddDeep(13261, 1).AddDeep(19712, 2).AddDeep(19725, 6); var o = r.AddDeep(19922, 1); var o2 = o.AddDeep(12988, 5); o2.AddDeep(19685, 15).AddDeep(19701, 30); o2.AddDeep(19712, 10).AddDeep(19725, 30); o.AddDeep(19721, 5); o.AddDeep(24289, 5); return r; }
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()); } }