public ProfitabilityAnalysis AnalyzeProcessing(IEnumerable <Recipe> processingRecipes)
        {
            var analysis = new ProfitabilityAnalysis();

            foreach (var recipe in processingRecipes)
            {
                var initial = recipe.Result.Craft;
                recipe.Result.Craft = true;
                var meta = new ItemMetaData(recipe.Result);
                analysis.Add(new ProfitabilityAnlysisEntry()
                {
                    Item = recipe.Result, ProfitData = meta
                });
                recipe.Result.Craft = initial;
            }

            return(analysis);
        }
        public ProfitabilityAnalysis Analyze(IEnumerable <Item> items)
        {
            var analysis = new ProfitabilityAnalysis();

            foreach (var i in items)
            {
                if (!i.MadeFrom.Any())
                {
                    continue;
                }

                var initial = i.Craft;
                i.Craft = true;
                var meta = new ItemMetaData(i);
                analysis.Add(new ProfitabilityAnlysisEntry()
                {
                    Item = i, ProfitData = meta
                });
                i.Craft = initial;
            }

            return(analysis);
        }