public bool SetCraftingRequirements(string itemQuery, string requirementQuery) { var targetItem = itemResolver.ResolveItems(itemQuery).FirstOrDefault(); if (targetItem == null) { return(false); } var requirements = itemResolver.ResolveItems(requirementQuery); if (requirements.Count == 0) { return(false); } var existingRequirements = gameData.GetCraftingRequirements(targetItem.Item.Id); foreach (var er in existingRequirements) { gameData.Remove(er); } foreach (var req in requirements) { gameData.Add(new DataModels.ItemCraftingRequirement { Id = Guid.NewGuid(), Amount = (int)req.Amount, ItemId = targetItem.Item.Id, ResourceItemId = req.Item.Id }); } return(true); }