Exemple #1
0
        static void Main(string[] args)
        {
            //trigger start function to start the application.
            int id = 0;
            SchoolManagementService schoolManagementService = new SchoolManagementService();

            Start(id, schoolManagementService);
        }
Exemple #2
0
        static void Start(int id, SchoolManagementService schoolManagementService)
        {
            Console.WriteLine("Enter School Name :");
            string schoolName = Console.ReadLine();

            if (String.IsNullOrEmpty(schoolName))
            {
                Console.WriteLine("School name can't be left blank.");
                NavigateMessage();
                Start(id, schoolManagementService);
            }
            else if (!Helper.IsString(schoolName))
            {
                Console.WriteLine("School name can have only alphabets");
                NavigateMessage();
                Start(id, schoolManagementService);
            }
            else
            {
                if (!schoolManagementService.IsSchoolExist(schoolName))
                {
                    Console.WriteLine("School doesn't exist, add a school.");
                    schoolName = Console.ReadLine();
                    School school = new School();
                    school.Id   = ++id;
                    school.Name = schoolName;
                    schoolManagementService.Schools.Add(school);
                }
                else
                {
                    id = schoolManagementService.FindSchool(schoolName);
                }
                schoolManagementService.JsonFileWriteAsync();
                Option(id, schoolManagementService);
            }
        }
Exemple #3
0
        static void Option(int id, SchoolManagementService schoolManagementService)
        {
            var schoolName = schoolManagementService.GetSchoolName(id);

            Console.WriteLine($"\nWelcome to {schoolName} Student information management\n");
            Console.WriteLine("1. Add Student.");
            Console.WriteLine("2. Add marks for student.");
            Console.WriteLine("3. Show student's progress card.");
            Console.WriteLine("4. Add another school.\n");
            Console.WriteLine("Please provide valid input from menu options :");
            string optionString = Console.ReadLine();

            if (!String.IsNullOrEmpty(optionString))
            {
                if (Helper.IsOptionValid(optionString))
                {
                    int option;
                    Int32.TryParse(optionString, out option);
                    switch (option)
                    {
                    case (int)EnumClass.Cases.one:
                        Console.WriteLine("Enter Student's Roll Number ");
                        string rollNumberString;
                        rollNumberString = Console.ReadLine();

                        if (IsRollNumberValid(rollNumberString))
                        {
                            int rollNumber;
                            Int32.TryParse(rollNumberString, out rollNumber);
                            Console.WriteLine("Enter Student's name :");
                            string name = Console.ReadLine();

                            if (String.IsNullOrEmpty(name))
                            {
                                Console.WriteLine("Field can't be left empty.");
                            }
                            else if (!Helper.IsString(name))
                            {
                                Console.WriteLine("Student's name can have alphabets only.");
                            }
                            else if (schoolManagementService.IsStudentExist(id, rollNumber))
                            {
                                Console.WriteLine("a student with same credentials already exist.");
                            }
                            else
                            {
                                schoolManagementService.AddStudent(id, rollNumber, name);
                                Console.WriteLine("Student added successfully");
                            }
                            NavigateMessage();
                            Option(id, schoolManagementService);
                        }
                        break;

                    case (int)EnumClass.Cases.two:
                        Console.WriteLine("Enter Student's Roll Number ");
                        rollNumberString = Console.ReadLine();

                        if (IsRollNumberValid(rollNumberString))
                        {
                            int rollNumber;
                            Int32.TryParse(rollNumberString, out rollNumber);

                            if (schoolManagementService.IsStudentExist(id, rollNumber))
                            {
                                int[] marksArray = new int[subjectCount];
                                int   count      = 0;

                                foreach (var sub in Enum.GetNames(typeof(EnumClass.Subjects)))
                                {
                                    Console.WriteLine($"Enter marks scored in {sub} :");
                                    string marksString = Console.ReadLine();

                                    if (String.IsNullOrEmpty(marksString))
                                    {
                                        Console.WriteLine("Marks field can't be left empty.");
                                        break;
                                    }
                                    else
                                    {
                                        if (!Helper.IsNumber(marksString))
                                        {
                                            Console.WriteLine("Marks can be a number only.");
                                            break;
                                        }
                                        else
                                        {
                                            if (!Helper.IsMarksValid(marksString))
                                            {
                                                Console.WriteLine("Invalid marks.");
                                                break;
                                            }
                                            else
                                            {
                                                int marksInt;
                                                Int32.TryParse(marksString, out marksInt);
                                                marksArray[count++] = marksInt;
                                            }
                                        }
                                    }
                                }
                                if (count == subjectCount)
                                {
                                    schoolManagementService.AddMarksToStudent(id, rollNumber, marksArray[0], marksArray[1], marksArray[2], marksArray[3], marksArray[4], marksArray[5]);
                                    Console.WriteLine("Marks added Successfully");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Roll number doesn't exist");
                            }
                        }
                        NavigateMessage();
                        Option(id, schoolManagementService);
                        break;

                    case (int)EnumClass.Cases.three:
                        Console.WriteLine("Enter Student's Roll Number ");
                        rollNumberString = Console.ReadLine();

                        if (IsRollNumberValid(rollNumberString))
                        {
                            int rollNumber;
                            Int32.TryParse(rollNumberString, out rollNumber);
                            if (schoolManagementService.IsStudentExist(id, rollNumber))
                            {
                                Student student = schoolManagementService.GetStudent(id, rollNumber);
                                Console.WriteLine("Student's Roll Number : " + student.RollNumber);
                                Console.WriteLine("Student's Name : " + student.Name + "\n");
                                Console.WriteLine("Student's Marks");

                                //display telugu marks.
                                Console.WriteLine("Telugu :" + student.ProgressCard.TeluguMarks);

                                //display telugu marks.
                                Console.WriteLine("Hindi :" + student.ProgressCard.HindiMarks);

                                //display english marks.
                                Console.WriteLine("English :" + student.ProgressCard.EnglishMarks);

                                //display maths marks.
                                Console.WriteLine("Maths :" + student.ProgressCard.MathsMarks);

                                //display Science marks.
                                Console.WriteLine("Science :" + student.ProgressCard.ScienceMarks);

                                //display Social marks.
                                Console.WriteLine("Social :" + student.ProgressCard.SocialMarks + "\n");

                                //display total marks.

                                Console.WriteLine("Total Marks :" + student.ProgressCard.TotalMarks);

                                //display Percentage upto 2 decimal points.
                                Console.WriteLine("Percentage :" + Math.Round(student.ProgressCard.Percentage, 2) + " %");
                            }

                            else
                            {
                                Console.WriteLine("Roll number doesn't exist");
                            }
                        }
                        break;

                    case (int)EnumClass.Cases.four:
                        NavigateMessage();
                        Console.WriteLine("Add another school.");
                        Start(id, schoolManagementService);
                        break;

                    default:
                        Console.WriteLine("Please select a valid option from the menu");
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Select a valid option.");
                }
            }
            else
            {
                Console.WriteLine("Field can't be left empty.");
            }
            NavigateMessage();
            Option(id, schoolManagementService);
        }