public static StudentContainer Search(String criteria, StudentContainer studentArray, int category) { var searched = new StudentContainer(); string groupIndex; if (studentArray.Students != null) { switch (category) { case 0: { foreach (Student student in studentArray.Students) { if (student.GroupIndex.ToString().ToLower().Contains(criteria.ToLower())) { searched.AddStudent(student); } } break; } case 1: { foreach (Student student in studentArray.Students) { if (student.Faculty.ToLower().Contains(criteria.ToLower())) { searched.AddStudent(student); } } break; } case 2: { foreach (Student student in studentArray.Students) { if (student.Specialization.ToLower().Contains(criteria.ToLower())) { searched.AddStudent(student); } } break; } } return(searched); } return(new StudentContainer()); }
public static void ReadStContainerFromFile(string path, StudentContainer readContainer) { try { using (StreamReader sr = new StreamReader(path, System.Text.Encoding.Default)) { string line; while ((line = sr.ReadLine()) != null) { var infoStudent = line.Split(new char[] { '|' }); readContainer.AddStudent(new Student(infoStudent[0], infoStudent[1], infoStudent[2], DateTime.Parse(infoStudent[3]), DateTime.Parse(infoStudent[4]), char.Parse(infoStudent[5]), infoStudent[6], infoStudent[7], double.Parse(infoStudent[8]))); } } } catch (Exception e) { Console.WriteLine(e.Message); } }
public static void Start() { const string path = @"C:\Users\Дмитрий Соколенко\source\repos\DotNet\sokolenko05DN\file.txt"; const string xmlPath = @"C:\Users\Дмитрий Соколенко\source\repos\DotNet\sokolenko05DN\file.xml"; var pigsty = new StudentContainer(); char choice = 'a'; int intChoice; string strChoice = ""; Console.WriteLine("Hello World! Our copany introduces the next level of data base - AllBase"); Console.WriteLine("The array of Student object is created, my lord."); Io.ReadStContainerFromFile(path, pigsty); while (choice != '0') { PrintMenu(); Console.Write("Make a choice: "); choice = Io.InputChar(); switch (choice) { case '1': PrintOptions(); Console.WriteLine("3 - All students"); Console.Write("Make a choice: "); intChoice = Io.InputInt(); if (intChoice != 3) { Console.WriteLine("Enter criteria: "); strChoice = Console.ReadLine(); Io.ShowContainer(StudentContainer.Search(strChoice, pigsty, intChoice)); } else { Io.ShowContainer(pigsty); } break; case '2': pigsty.AddStudent(Io.InputStudent()); break; case '3': if (pigsty.Size() > 0) { Console.Write("Input the index: "); pigsty.DeleteStudent(Io.InputInt()); } else { Console.Write("Container is empty"); } break; case '4': if (pigsty.Size() > 0) { Console.Write("Input the index: "); pigsty.ShowByIndex(Io.InputInt()); } else { Console.Write("Container is empty"); } break; case '5': if (pigsty.Size() > 0) { Console.Write("Input the index: "); pigsty.EditByIndex(Io.InputInt()); } else { Console.Write("Container is empty"); } break; case '6': PrintOptions(); Console.Write("Make a choice: "); intChoice = Io.InputInt(); Console.WriteLine("Enter criteria: "); strChoice = Console.ReadLine(); pigsty.DeleteStudents(StudentContainer.Search(strChoice, pigsty, intChoice)); break; case '7': PrintMathematicOptions(); Console.Write("Make a choice: "); intChoice = Io.InputInt(); StudentContainerProcessing.Del del = null; switch (intChoice) { case 0: { del = StudentContainerProcessing.CalculateAverageAge; break; } case 1: { del = StudentContainerProcessing.CalculateAverageAcademicPerformance; break; } } PrintOptions(); Console.Write("Make a choice: "); intChoice = Io.InputInt(); Console.WriteLine("Enter criteria: "); strChoice = Console.ReadLine(); Console.WriteLine(del?.Invoke(StudentContainer.Search(strChoice, pigsty, intChoice))); break; case '8': Serialization.SaveCollectionInXML(pigsty, xmlPath); break; case '9': pigsty = Serialization.LoadCollectionFromXML(xmlPath); break; } } Io.WriteStContainerToFile(path, pigsty); }