コード例 #1
0
        public Category Create(int categoryId)
        {
            var categoryCreater = new BaseCreater <Category>();
            var category        = categoryCreater.Create("Создаем категорию рецептов.");

            category.Id = categoryId;
            return(category);
        }
コード例 #2
0
        public Recipe Create(Category curentCategory, int recipesCount, List <Ingredient> ingredients)
        {
            var recipeCreater = new BaseCreater <Recipe>();
            var recipe        = recipeCreater.Create($"Создаем рецепт.");

            recipe.Id         = recipesCount;
            recipe.CategoryId = curentCategory.Id;
            while (true)
            {
                Console.Clear();
                Console.WriteLine($"Выберите ингридиенты для рецепта {recipe.Name}");
                var ingr = new List <Ingredient>();
                for (int i = 0, j = 1; i < ingredients.Count; i++)
                {
                    if (!recipe.Ingredients.Keys.Any(x => x == ingredients[i].Id))
                    {
                        Console.WriteLine("{0}. {1}", j, ingredients[i].Name);
                        ingr.Add(ingredients[i]);
                        j++;
                    }
                }
                Console.WriteLine(ingredients.Count - recipe.Ingredients.Count + 1 + ". Создать новый ингридиент.");
                Console.WriteLine(ingredients.Count - recipe.Ingredients.Count + 2 + ". Выход.");
                if (int.TryParse(Console.ReadLine(), out int num) && num > 0 && num <= ingredients.Count - recipe.Ingredients.Count + 2)
                {
                    Console.Clear();
                    if (num == ingredients.Count - recipe.Ingredients.Count + 2)
                    {
                        break;
                    }
                    else if (num == ingredients.Count - recipe.Ingredients.Count + 1)
                    {
                        var ingredientCreater = new IngredientCreater();
                        ingredients.Add(ingredientCreater.Create(ingredients));
                    }
                    else
                    {
                        Console.WriteLine("Введите количество/обьем/массу");
                        var volume = Console.ReadLine();
                        if (string.IsNullOrWhiteSpace(volume))
                        {
                            throw new ArgumentNullException("Значение не может быть пустой строкой", nameof(volume));
                        }
                        recipe.Ingredients.Add(ingr[num - 1].Id, volume);
                    }
                }
                else
                {
                    Console.WriteLine("Нет ингридиента под таким номером, нажмите любую клавишу что бы продолжить.");
                    Console.ReadKey();
                }
            }
            Console.Clear();
            return(recipe);
        }
コード例 #3
0
        public Ingredient Create(List <Ingredient> ingredients)
        {
            var ingredientCreater = new BaseCreater <Ingredient>();
            var ingredient        = ingredientCreater.Create("Создаем ингридиент.");

            if (ingredients.Any(x => x.Name.ToLower() == ingredient.Name.ToLower()))
            {
                Console.WriteLine("Такой ингридиент уже есть, нажмите любую клавишу что бы продолжить.");
                Console.ReadKey();
                return(null);
            }
            if (ingredients.Count == 0)
            {
                ingredient.Id = 0;
            }
            else
            {
                ingredient.Id = ingredients.Max(i => i.Id) + 1;
            }
            return(ingredient);
        }