public static void Start() { var pigsty = new StudentContainer(); const string fileName = @"C:\Users\Дмитрий Соколенко\source\repos\DotNet\sokolenko05DN\file.txt"; pigsty = FilesIO.ReadList(fileName); const string fileNameXml = @"C:\Users\Дмитрий Соколенко\source\repos\DotNet\sokolenko05DN\file.xml"; while (true) { PrintMainMenu(); int choice; try { choice = Io.EnterInt("choice"); switch (choice) { case 1: { PrintStudents(); int printChoice = Io.EnterInt("printChoice"); switch (printChoice) { case 0: { Io.PrintStudents(pigsty); break; } case 1: { Io.PrintStudents(StudentContainerProcessing.Search(Io.EnterString("group"), pigsty, printChoice - 1)); break; } case 2: { Io.PrintStudents(StudentContainerProcessing.Search(Io.EnterString("specialty"), pigsty, printChoice - 1)); break; } case 3: { Io.PrintStudents(StudentContainerProcessing.Search(Io.EnterString("faculty"), pigsty, printChoice - 1)); break; } } break; } case 2: { pigsty.AddStudent(CreateStudent()); break; } case 3: { Io.PrintStudents(pigsty); pigsty.DeleteStudentByIndex(Io.EnterInt("index") - 1); break; } case 4: { var index = GetIndex(pigsty); var student = pigsty.GetStudent(index); Console.WriteLine(student.ToString()); int edit = Io.EnterInt("1 if you want to edit"); if (edit == 1) { student = CreateStudent(); pigsty.SetStudent(index, student); } break; } case 5: { RemoveStudents(); int deleteChoice = Io.EnterInt("deleteChoice"); pigsty = StudentContainerProcessing.RemoveStudents(pigsty, StudentContainerProcessing.Search(Io.EnterString("choice"), pigsty, deleteChoice)); break; } case 6: { AvgCalculateOperations(); int avgOperations = Io.EnterInt("avgChoice");; StudentContainerProcessing.Del del = null; switch (avgOperations) { case 0: { del = StudentContainerProcessing.CalculateAverageAge; break; } case 1: { del = StudentContainerProcessing.CalculateAverageAcademicPerformance; break; } } RemoveStudents(); int searchChoice = Io.EnterInt("searchChoice"); Console.WriteLine(del?.Invoke(StudentContainerProcessing.Search(Io.EnterString("choice"), pigsty, searchChoice))); break; } case 7: { FilesIO.SaveCollectionInXML(pigsty, fileNameXml); break; } case 8: { pigsty = FilesIO.LoadCollectionFromXML(fileNameXml); break; } case 0: { FilesIO.WriteList(pigsty, fileName); return; } } } catch (Exception e) { Console.WriteLine(e.Message); } } }
public static string GetStudentGroup(string faculty, string groupIndex) { var sb = new StringBuilder(Io.AbbreviationFrom(faculty)).Append("-").Append(groupIndex); return(sb.ToString()); }
private static int GetIndex(StudentContainer studentArray) { Io.PrintStudents(studentArray); return(Io.EnterInt("index") - 1); }