//Добавить объект private void Add() { string[] addMenu = { "Добавить студента.", "Добавить сотрудника.", "Добавить учителя.", "Назад." }; while (true) { var sw = Print.Menu(0, addMenu); IPerson person; switch (sw) { case 1: Console.WriteLine("Введите студента для добавления:"); person = new Student(); person.Input(); _stack.Push(person); Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 2: Console.WriteLine("Введите сотрудника для добавления:"); person = new Associate(); person.Input(); _stack.Push(person); Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 3: Console.WriteLine("Введите учителя для добавления:"); person = new Teacher(); person.Input(); _stack.Push(person); Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 4: return; } } }
//Тип поиска private void TypeFind() { string[] queriesMenu = { "Поиск Student.", "Поиск Associate.", "Поиск Teacher.", "Назад." }; while (true) { var sw = Print.Menu(0, queriesMenu); switch (sw) { case 1: var student = new Student(); student.Input(); var number = Find(student); if (number == 0) { Console.WriteLine( "Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } else { Console.WriteLine( "Номер объекта в отсортированном массиве - {0}.\n\n\nДля продолженния нажать на любую клавишу...", number); } Console.ReadKey(true); break; case 2: var associate = new Associate(); associate.Input(); number = Find(associate); if (number == 0) { Console.WriteLine( "Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } else { Console.WriteLine( "Номер объекта в отсортированном массиве - {0}.\n\n\nДля продолженния нажать на любую клавишу...", number); } Console.ReadKey(true); break; case 3: var teacher = new Teacher(); teacher.Input(); number = Find(teacher); if (number == 0) { Console.WriteLine( "Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } else { Console.WriteLine( "Номер объекта в отсортированном массиве - {0}.\n\n\nДля продолженния нажать на любую клавишу...", number); } Console.ReadKey(true); break; case 4: return; } } }
//Удалить объект private void Delete(out int k) { string[] addMenu = { "Удалить студента.", "Удалить сотрудника.", "Удалить учителя.", "Назад." }; k = 0; while (true) { var sw = Print.Menu(0, addMenu); IPerson person; switch (sw) { case 1: Console.WriteLine("Введите студента для удаления:"); person = new Student(); person.Input(); if (!_persons.ContainsKey(person.Return_SeName() + " " + person.Return_Name())) { Console.WriteLine( "Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { _persons.Remove(person.Return_SeName() + " " + person.Return_Name()); Console.WriteLine( "Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_persons.Count == 0) { k = 6; return; } break; case 2: Console.WriteLine("Введите сотрудника для удаления:"); person = new Associate(); person.Input(); if (!_persons.ContainsKey(person.Return_SeName() + " " + person.Return_Name())) { Console.WriteLine( "Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { _persons.Remove(person.Return_SeName() + " " + person.Return_Name()); Console.WriteLine( "Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_persons.Count == 0) { k = 6; return; } break; case 3: Console.WriteLine("Введите учителя для удаления:"); person = new Teacher(); person.Input(); if (!_persons.ContainsKey(person.Return_SeName() + " " + person.Return_Name())) { Console.WriteLine( "Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { _persons.Remove(person.Return_SeName() + " " + person.Return_Name()); Console.WriteLine( "Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_persons.Count == 0) { k = 6; return; } break; case 4: return; } } }
//Удалить объект private void Delete(out int k) { string[] addMenu = { "Удалить студента.", "Удалить сотрудника.", "Удалить учителя.", "Назад." }; k = 0; while (true) { var sw = Print.Menu(0, addMenu); IPerson person; switch (sw) { case 1: Console.WriteLine("Введите студента для удаления:"); person = new Student(); person.Input(); var tmp = _stack.ToArray(); var preSize = tmp.Length; RemoveFromArray(ref tmp, person); CreateStack(tmp); if (preSize == tmp.Length) { Console.WriteLine( "Объект для удаления отсутсвует в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { Console.WriteLine( "Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_stack.Count == 0) { k = 6; return; } break; case 2: Console.WriteLine("Введите сотрудника для удаления:"); person = new Associate(); person.Input(); tmp = _stack.ToArray(); preSize = tmp.Length; RemoveFromArray(ref tmp, person); CreateStack(tmp); if (preSize == tmp.Length) { Console.WriteLine( "Объект для удаления отсутсвует в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { Console.WriteLine( "Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_stack.Count == 0) { k = 6; return; } break; case 3: Console.WriteLine("Введите учителя для удаления:"); person = new Teacher(); person.Input(); tmp = _stack.ToArray(); preSize = tmp.Length; RemoveFromArray(ref tmp, person); CreateStack(tmp); if (preSize == tmp.Length) { Console.WriteLine( "Объект для удаления отсутсвует в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { Console.WriteLine( "Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_stack.Count == 0) { k = 6; return; } break; case 4: return; } } }
//Тип поиска private void TypeFind() { string[] queriesMenu = { "Поиск Student.", "Поиск Associate.", "Поиск Teacher.", "Назад." }; while (true) { var sw = Print.Menu(0, queriesMenu); switch (sw) { case 1: IPerson person = new Student(); person.Input(); if (_persons.ContainsKey(person.Return_SeName() + " " + person.Return_Name())) { Console.WriteLine( "Введенный элемент - {0}.\n\n\nДля продолженния нажать на любую клавишу...", _persons[person.Return_SeName() + " " + person.Return_Name()]); } else { Console.WriteLine( "Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } Console.ReadKey(true); break; case 2: person = new Associate(); person.Input(); if (_persons.ContainsKey(person.Return_SeName() + " " + person.Return_Name())) { Console.WriteLine( "Введенный элемент - {0}.\n\n\nДля продолженния нажать на любую клавишу...", _persons[person.Return_SeName() + " " + person.Return_Name()]); } else { Console.WriteLine( "Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } Console.ReadKey(true); break; case 3: person = new Teacher(); person.Input(); if (_persons.ContainsKey(person.Return_SeName() + " " + person.Return_Name())) { Console.WriteLine( "Введенный элемент - {0}.\n\n\nДля продолженния нажать на любую клавишу...", _persons[person.Return_SeName() + " " + person.Return_Name()]); } else { Console.WriteLine( "Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } Console.ReadKey(true); break; case 4: return; } } }