예제 #1
0
 public SeatingPlanForm(List <Student> students, List <ClassroomSpot> seatingPlan)
 {
     InitializeComponent();
     StudentListbox.subscribeToStudentListChangeEvent(refreshDeskCount);
     StudentListbox.updateStudentList(students);
     loadedSeatingPlan = seatingPlan?.ToList();
 }
예제 #2
0
        private void seatRandomStudent()
        {
            ClassroomSpotControl[] unoccupiedDeskArray = unoccupiedDesks.ToArray();
            int deskIndex             = random.Next(0, unoccupiedDeskArray.Length);
            ClassroomSpotControl desk = unoccupiedDeskArray[deskIndex];
            int studentIndex          = random.Next(0, StudentListbox.Students.Count);

            desk.Occupant = StudentListbox.popStudent(studentIndex);
        }
예제 #3
0
        private void addClassroomSpot(int x, int y, ClassroomSpot data = null)
        {
            ClassroomSpotControl newSpot = new ClassroomSpotControl();

            newSpot.subscribeToDeskChange(updateDeskState);
            newSpot.Location = getClassroomSpotLocation(x, y);
            newSpot.UpdateSpot(new Point(x, y), data?.Occupant, (data != null));
            StudentListbox.removeStudentList(new List <Student>()
            {
                data?.Occupant
            });
            ClassroomSpotsPanel.Controls.Add(newSpot);
        }
예제 #4
0
        private void unseatRandomStudent()
        {
            if (occupiedDesks.Count <= 0)
            {
                return;
            }
            ClassroomSpotControl desk = occupiedDesks.First();

            StudentListbox.appendStudentList(new List <Student> {
                desk.Occupant
            });
            desk.Occupant = null;
        }