/* * Главный цикл прогаммы */ public void Start() { var isRun = true; while (isRun) { tablesHashMap.WriteDictionary(); switch (menu.ViewMenu()) { case (int)MenuBtn.GENERATION_HASH_TABLE: { menu.GeneratingHashTable(); tablesHashMap = new TablesHashMap(parser); Console.WriteLine("Таблица сгенерированна, нажмите любую клавишу чтобы продолжить ..."); Console.ReadKey(); } break; case (int)MenuBtn.ADD: { parser.AddTable(menu.Add()); tablesHashMap = new TablesHashMap(parser); } break; case (int)MenuBtn.FIND: { var tableRow = menu.Find().Split(';'); if (tableRow.Length.Equals(3)) { var listofTable = tablesHashMap.Find(new Table(long.Parse(tableRow[0]), tableRow[1], double.Parse(tableRow[2]))); if (listofTable != null) { foreach (var table in listofTable) { Console.WriteLine(table.ToString()); } } } else { Console.WriteLine("Что то пошло не так, вводите всё по инструкции ..."); } Console.ReadKey(); } break; case (int)MenuBtn.DELETE: { var tableRow = menu.Delete().Split(';'); if (tableRow.Length.Equals(3)) { if ( tablesHashMap.Delete(new Table(long.Parse(tableRow[0]), tableRow[1], double.Parse(tableRow[2])))) { parser.DeleteTable(new Table(long.Parse(tableRow[0]), tableRow[1], double.Parse(tableRow[2]))); Console.WriteLine("Удалено или не существует "); } else { Console.WriteLine("Не удалено"); } } else { Console.WriteLine("Что то пошло не так, вводите всё по инструкции ..."); } Console.ReadKey(); } break; case (int)MenuBtn.SAVE: { menu.Save(); parser.WriteTables(); } break; case (int)MenuBtn.EXET: { menu.Exit(); isRun = false; } break; case (int)MenuBtn.SORT: { parser.Print(menu.Sort()); Console.ReadKey(); } break; default: Console.WriteLine("Default case"); break; } Console.Clear(); } }
public CommandManagerFacade(Menu menu, Parser parser) { this.menu = menu; this.parser = parser; tablesHashMap = new TablesHashMap(parser); }