Create a C# WPF application of a simple student management system: A base class Person is provided: using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Create a C# WPF application of a simple student management system:

A base class Person is provided:


using System;


using System.Collections.Generic;


using System.Linq;


using System.Text;


using System.Threading.Tasks;


namespace TestWPF


{


    abstract class Person


    {


        private string firstName;


        private string lastName;


///

        /// 0 for male


        /// 1 for female


        /// 2 for other


        ///


        private int gender;


        private int age;


        public string FirstName


        {


            get


            {


                return firstName;


            }


            set


            {


                firstName = value;


            }


        }


        public string LastName


        {


            get


            {


                return lastName;


            }


            set


            {


                lastName = value;


            }


        }


        public int Gender


        {


            get


            {


                return gender;


            }


            set


            {


                gender = value;


            }


        }


        public int Age


        {


            get


            {


                return age;


            }


            set


            {


                age = value;


            }


        }


    }


}


You are required to inherit from it to create an UndergraduateStudent class, then a GraduateStudent class derived from UndergraduateStudent class. The differences between the two are:


Undergraduate student can only add undergraduate courses, and graduate students can only add graduate course. Course Number 1000-4999 are undergraduate courses. Course Number 5000-9999 are graduate courses.


A Course class is needed, which includes course related information such as Course Name, Course Number etc. Build the Course class based on the information provided on the UI.


When a user types in student information (Name, ID…), click “Add a Student”, the student should be added to the “Student List” ListBox on the left. A user should be able to add multiple students to the list, including graduate and undergraduate students.


When the user selects an existing student from the student list, corresponding student information (first name, last name and etc.) and Course List should be automatically filled in with proper information.


While a student is selected, a user can add courses the student. The following rules are to be followed:


Course numbers can only be a 4-digits int number. As mentioned earlier, only undergraduate courses are allowed to be added for undergraduate students. Only graduate courses are allowed to be added for graduate students. GPA is in the range 0.0-4.0.


Total GPA is calculated automatically, and cannot be edited. Total GPA = ??????? ?????? ??????? ????????????????????????? ?????????? ?????????? ???????????? ????????? .


When a student and one of the courses are both selected, related course information boxes should be automatically filled.


Consider exception handling for invalid user input.


Using serialization and deserialization, add Save and Load features to save and load the students list.


Add features that allow users to edit and delete students and course record.


May 19, 2022
SOLUTION.PDF

Get Answer To This Question

Submit New Assignment

Copy and Paste Your Assignment Here