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!"); } }
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(); } }
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); }
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(); }
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(); }