Esempio n. 1
0
        public static StudentContainer ReadList(string fileName)
        {
            try
            {
                if (fileName == null)
                {
                    fileName = DefaultFilename;
                }

                var    file     = new StreamReader(fileName);
                var    students = new StudentContainer();
                string line;
                int    i = 1;
                while ((line = file.ReadLine()) != null)
                {
                    var student = new Student(line, file.ReadLine(), file.ReadLine(),
                                              DateTime.ParseExact(file.ReadLine(), "dd MM yyyy", CultureInfo.InvariantCulture),
                                              DateTime.ParseExact(file.ReadLine(), "dd MM yyyy", CultureInfo.InvariantCulture),
                                              file.ReadLine(), file.ReadLine(), file.ReadLine(), Convert.ToInt32(file.ReadLine()));
                    line = file.ReadLine();
                    if (line.Equals(""))
                    {
                        Console.WriteLine(i++ + " students read");
                    }
                    students.AddStudent(student);
                }
                ;

                file.Close();

                return(students);
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occured while reading file: " + e.Message);
            }

            return(new StudentContainer());
        }
Esempio n. 2
0
        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);
                }
            }
        }