Beispiel #1
0
        public void Handler(object source, StudentListHandlerEventArgs args)
        {
            JournalEntry entry = new JournalEntry
            {
                CollectionName = args.Name,
                Type           = args.Info,
                StudentInfo    = (source as Student).ToShortString()
            };

            entryList.Add(entry);
        }
        public void AddStudents(params Student[] _students)
        {
            foreach (Student student in _students)
            {
                students.Add(student);
                StudentListHandlerEventArgs args = new StudentListHandlerEventArgs
                {
                    Name  = this.Name,
                    Info  = "Student added",
                    Index = students.Count - 1
                };

                StudentCountChanged?.Invoke(student, args);
            }
        }
        public void AddDefaults(int n)
        {
            for (int i = 0; i < n; i++)
            {
                Student student = new Student();
                students.Add(student);

                StudentListHandlerEventArgs args = new StudentListHandlerEventArgs
                {
                    Name  = this.Name,
                    Info  = "Default student added",
                    Index = students.Count - 1
                };

                StudentCountChanged?.Invoke(student, args);
            }
        }
        public Student this[int index]
        {
            get
            {
                return(students[index]);
            }
            set
            {
                students[index] = value;

                StudentListHandlerEventArgs args = new StudentListHandlerEventArgs
                {
                    Name  = this.Name,
                    Info  = "Student reference changed",
                    Index = index
                };

                StudentReferenceChanged?.Invoke(value, args);
            }
        }
        public bool Remove(int index)
        {
            if (index <= 0 || index > students.Count())
            {
                StudentListHandlerEventArgs args = new StudentListHandlerEventArgs
                {
                    Name  = this.Name,
                    Info  = "Student removed",
                    Index = index
                };

                StudentCountChanged?.Invoke(students[index], args);

                students.RemoveAt(index);
            }
            else
            {
                return(false);
            }

            return(true);
        }