Exemplo n.º 1
0
        private static async Task ProcessRecipeAsync(RecipeController recCont, RecipeStepController rsCont, NavigationController navig)
        {
            NavigatorItem item           = NavigatorItem.Recipe;
            Category      targetCategory = SetTargetCategory(navig, item);
            Recipe        recipeToAdd;
            bool          result = false;

            recipeToAdd = FormRecipe(recCont);
            recCont.SetCategoryInRecipe(targetCategory, recipeToAdd);
            try
            {
                result = await recCont.TryCreateRecipeAsync(recipeToAdd);
            }
            catch (Exception)
            {
                Console.WriteLine("Creating recipe is not possible!");
                Console.ReadKey();
                return;
            }
            if (result)
            {
                await rsCont.AddStepsAsync(GatherSteps(recipeToAdd));
                await FormIngredientListAsync(recipeToAdd, recCont);

                await navig.UpdateSubItems();

                Console.WriteLine("Recipe created succesfully!");
            }
        }
Exemplo n.º 2
0
        private static async Task ProcessCategoryAsync(CategoryController catCont, NavigationController navig)
        {
            NavigatorItem item           = NavigatorItem.Category;
            Category      targetCategory = SetTargetCategory(navig, item);

            Console.Write("Enter Category Name:");
            string name = Console.ReadLine().Trim();

            bool result = false;

            try
            {
                result = await catCont.TryCreateCategoryAsync(name, targetCategory?.Id);
            }
            catch (Exception)
            {
                Console.WriteLine("Creating category is not possible!");
                Console.ReadKey();
                return;
            }
            if (result)
            {
                Console.WriteLine("Category created succesfully!");
                await navig.UpdateSubItems();
            }
        }
Exemplo n.º 3
0
        private static Category SetTargetCategory(Navigator navig, NavigatorItem item)
        {
            Category result  = null;
            Category Current = navig.GetCurrent();

            if (navig.GetSubItemsCount() == 0)
            {
                Console.WriteLine("This category doesn't have subcategories!");
                result = Current;
                return(result);
            }

            int  categoryID;
            bool choice = false;

            if (item == NavigatorItem.Category || (Current != null && item == NavigatorItem.Recipe))
            {
                Console.WriteLine($"Do you want to add {item} to current {Current?.Name} category? Y/N");

                System.ConsoleKey answer;
                while (true)
                {
                    answer = Console.ReadKey().Key;
                    if (answer == ConsoleKey.Y)
                    {
                        choice = true;
                        result = Current;
                        break;
                    }
                    else if (answer == ConsoleKey.N)
                    {
                        choice = false;
                        break;
                    }
                    else
                    {
                        Console.WriteLine("Wrong answer. Please enter \"Y\" (Yes) or \"N\" (No) again");
                    }
                }
            }
            if (!choice)
            {
                Console.Write($"Please enter an id of a category where created {item} will be stored:");
                while (int.TryParse(Console.ReadLine().Trim(), out categoryID) == false || navig.GetCategory(categoryID) == null)
                {
                    Console.Write("Wrong category id, please enter id again:");
                }
                result = navig.GetCategory(categoryID);
            }
            return(result);
        }
Exemplo n.º 4
0
        private static void ProcessRecipe(RecipeController recCont, CategoryController catCont, Navigator navig)
        {
            NavigatorItem item           = NavigatorItem.Recipe;
            Category      targetCategory = SetTargetCategory(navig, item);
            Recipe        recipeToAdd    = FormRecipe(recCont);

            recCont.SetCategoryInRecipe(targetCategory, recipeToAdd);
            if (recCont.TryCreateRecipe(recipeToAdd))
            {
                Console.WriteLine("Recipe created succesfully!");
            }
            else
            {
                Console.WriteLine("Creating recipe is not possible!");
                Console.ReadKey();
                return;
            }
            FormIngredientList(recipeToAdd, recCont);
            navig.UpdateSubItems();
        }
Exemplo n.º 5
0
        private static void ProcessCategory(CategoryController catCont, Navigator navig)
        {
            NavigatorItem item           = NavigatorItem.Category;
            Category      targetCategory = SetTargetCategory(navig, item);

            Console.Write("Enter Category Name:");
            string name = Console.ReadLine().Trim();

            if (catCont.TryCreateCategory(name, targetCategory?.Id))
            {
                Console.WriteLine("Category created succesfully!");
            }
            else
            {
                Console.WriteLine("Creating category is not possible!");
                Console.ReadKey();
                return;
            }
            navig.UpdateSubItems();
        }