Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }