Exemple #1
0
        static void Main(string[] args)
        {// Create dates
            DateTime enrolDate1 = new DateTime(2011, 01, 01);
            DateTime enrolDate2 = new DateTime(2011, 01, 01);
            DateTime enrolDate3 = new DateTime(2013, 03, 03);

            DateTime regDate1 = new DateTime(2011, 05, 05);
            DateTime regDate2 = new DateTime(2010, 07, 07);


            // Create instances
            Address address1 = new Address("3", "Three st.", "Adelaide", "5000", "SA");
            Address address2 = new Address("5", "ZOne st.", "Mile End", "5031", "SA");
            Address address3 = new Address("1", "One st.", "Nile End", "5032", "SA");

            Person person1 = new Person("002", "Giorgio", "*****@*****.**", "7110005200", address3);
            Person person2 = new Person("008", "ALEX", "*****@*****.**", "5000111410", address1);
            Person person3 = new Person("0022", "Beppe", "*****@*****.**", "6110005200", "3", "Three st.", "Adelaide", "5000", "SA");
            Person person4 = new Person("001", "Zura", "*****@*****.**", "9000111410", address1);
            Person person5 = new Person("0012", "Alex", "*****@*****.**", "8000211410", address1);

            Course course1 = new Course("001", "5C#W", 1000.00);
            Course course2 = new Course("002", "4C#M", 1000.00);
            Course course3 = new Course("003", "5JAW", 1500.00);

            Enrolment enrol1 = new Enrolment(enrolDate1, "Pass", "1", course1);
            Enrolment enrol2 = new Enrolment(enrolDate2, "Pass", "1", course1);
            Enrolment enrol3 = new Enrolment(enrolDate3, "Pass", "2", course3);

            Student student1 = new Student("Diploma Software Dev", regDate1, "003", "Melchiorre", "*****@*****.**", "0000111410", address1, enrol1);
            Student student2 = new Student("Diploma Software Dev", regDate1, "001", "Alex", "*****@*****.**", "0000111410", address1, enrol1);
            Student student3 = new Student("Diploma Web Dev", regDate2, "005", "Tiziano", "*****@*****.**", "0000111410", address1, enrol2);
            Student student4 = new Student("Diploma Web Dev", regDate2, "002", "Giorgio", "*****@*****.**", "1110005200", address3, enrol3);


            // Create Address List
            List <Address> addressList = new List <Address>();

            addressList.Add(address1);
            addressList.Add(address2);
            addressList.Add(address3);

            // Create Person Array (To use comparer)
            Person[] personArray = { person1, person2, person3, person4, person5 };

            // Create Course List
            List <Course> courseList = new List <Course>();

            courseList.Add(course1);
            courseList.Add(course2);
            courseList.Add(course3);

            // Create Enrol List
            List <Enrolment> enrolList = new List <Enrolment>();

            enrolList.Add(enrol1);
            enrolList.Add(enrol2);
            enrolList.Add(enrol3);

            // Create Student List
            List <Student> studentList = new List <Student>();

            studentList.Add(student1);
            studentList.Add(student2);
            studentList.Add(student3);
            studentList.Add(student4);

            /////////START COMPARISONS///////////////////

            // Using CompareTo method
            Console.WriteLine("\n--------------------------- CompareTo Method -----------------------------------------\n");

            // Address
            Console.WriteLine("\n**Address**");
            displayOrder(address1, address1);
            displayOrder(address1, address2);
            displayOrder(address1, address3);

            Console.ReadKey();

            // Course
            Console.WriteLine("\n**Course**");
            displayOrder(course1, course1);
            displayOrder(course1, course2);
            displayOrder(course1, course3);

            Console.ReadKey();

            // Enrolment
            Console.WriteLine("\n**Enrolment**");
            displayOrder(enrol1, enrol1);
            displayOrder(enrol1, enrol2);
            displayOrder(enrol1, enrol3);

            Console.ReadKey();

            // Person
            Console.WriteLine("\n**Person (Id)**");
            displayOrder(person1, person1);
            displayOrder(person1, person2);
            displayOrder(person1, person3);
            displayOrder(person1, person4);
            displayOrder(person1, person5);

            Console.ReadKey();

            // Student
            Console.WriteLine("\n**Student**");
            displayOrder(student1, student1);
            displayOrder(student1, student2);
            displayOrder(student1, student3);
            displayOrder(student1, student4);

            Console.ReadKey();

            // COMPARERS
            Console.WriteLine("\n\n--------------------------- Comparers -----------------------------------------\n");

            // PersonNameComparer
            Console.WriteLine("\n**PersonNameComparer**");
            sortAndShowName(personArray);

            Console.ReadKey();

            // PersonEmailComparer
            Console.WriteLine("\n**PersonEmailComparer**");
            sortAndShowEmail(personArray);

            Console.ReadKey();

            // PersonTelNumComparer
            Console.WriteLine("\nPersonTelNumComparer**");
            sortAndShowTelNum(personArray);

            Console.ReadKey();

            //HashSet
            Console.WriteLine("\n\n--------------------------- HashSet + Equality Comparer -----------------------------------------\n");
            HashSet <Person> personHashSet = new HashSet <Person>(PersonEqualityComparer.Instance);

            personHashSet.Add(person1);
            personHashSet.Add(person2);
            personHashSet.Add(person3);
            personHashSet.Add(person4);
            personHashSet.Add(person5);
            personHashSet.Add(person5);

            foreach (var person in personHashSet)
            {
                Console.WriteLine(person);
            }

            Console.ReadKey();
        }
Exemple #2
0
 public Student(string program, DateTime dateRegistered, string id, string name, string email, string telNum, Address address, Enrolment enrolment)
     : base(id, name, email, telNum, address)
 {
     this.Program        = program;
     this.DateRegistered = dateRegistered;
     this.Enrolment      = enrolment;
 }