Ejemplo n.º 1
0
        public static Control[] showTimetable()
        {
            List <SomerenModel.TimetableActivity> timetable = SomerenDB.DB_getTimetable();

            ListView activitiesListView = (ListView)showActivity();

            // we must split the activities by the day of the week on which they occur
            // we will have one list view per day
            List <SomerenModel.TimetableActivity> mondayActivities    = new List <SomerenModel.TimetableActivity>();
            List <SomerenModel.TimetableActivity> tuesdayActivities   = new List <SomerenModel.TimetableActivity>();
            List <SomerenModel.TimetableActivity> wednesdayActivities = new List <SomerenModel.TimetableActivity>();
            List <SomerenModel.TimetableActivity> thursdayActivities  = new List <SomerenModel.TimetableActivity>();
            List <SomerenModel.TimetableActivity> fridayActivities    = new List <SomerenModel.TimetableActivity>();

            foreach (SomerenModel.TimetableActivity activity in timetable)
            {
                // use day of week because it's the simplest
                switch (activity.getDate().DayOfWeek)
                {
                case DayOfWeek.Monday:
                    mondayActivities.Add(activity);
                    break;

                case DayOfWeek.Tuesday:
                    tuesdayActivities.Add(activity);
                    break;

                case DayOfWeek.Wednesday:
                    wednesdayActivities.Add(activity);
                    break;

                case DayOfWeek.Thursday:
                    thursdayActivities.Add(activity);
                    break;

                case DayOfWeek.Friday:
                    fridayActivities.Add(activity);
                    break;
                }
            }

            activitiesListView.Height        = 85;
            activitiesListView.Width         = 370;
            activitiesListView.FullRowSelect = true;

            DateTimePicker datePicker = new DateTimePicker();

            datePicker.Left  = 375;
            datePicker.Width = 150;
            // restrict dates to the one week we care about
            datePicker.Value   = new DateTime(2017, 4, 11);
            datePicker.MinDate = new DateTime(2017, 4, 10);
            datePicker.MaxDate = new DateTime(2017, 4, 14);

            ComboBox timePicker = new ComboBox();

            timePicker.Left          = 375;
            timePicker.Width         = 150;
            timePicker.Top           = 30;
            timePicker.DropDownStyle = ComboBoxStyle.DropDownList;

            // add the time slots we support
            timePicker.Items.Add("09:00-11:00");
            timePicker.Items.Add("11:00-13:00");
            timePicker.Items.Add("13:00-15:00");
            timePicker.Items.Add("15:00-17:00");

            timePicker.SelectedIndex = 0;

            Button saveButton = new Button();

            saveButton.Text  = "Save";
            saveButton.Left  = 375;
            saveButton.Width = 150;
            saveButton.Top   = 60;

            Control[] allControls = new Control[] {
                activitiesListView,
                datePicker,
                timePicker,
                saveButton,

                createWeekDayListview(0, mondayActivities),
                createWeekDayListview(1, tuesdayActivities),
                createWeekDayListview(2, wednesdayActivities),
                createWeekDayListview(3, thursdayActivities),
                createWeekDayListview(4, fridayActivities),
            };

            // the button must read values from the controls so we just
            // store them in the tag
            saveButton.Tag = allControls;

            // set event handler on save button
            saveButton.Click += Click_TimetableSaveButton;

            return(allControls);
        }