Ejemplo n.º 1
0
        private IEnumerable <SelectListItem> DaysInWeek(DateTime startTime, params DayOfWeek[] daysOfWeek)
        {
            var             currentDay = startTime.Date;
            SelectListGroup group      = null;

            while (true)
            {
                if (currentDay.DayOfWeek == DayOfWeek.Sunday || group == null)
                {
                    var beginningOfWeek = DateTimeHelper.GetBeginningOfWeek(currentDay);
                    group = new SelectListGroup {
                        Name = beginningOfWeek.ToString("MMM-dd")
                    };
                }

                if (daysOfWeek.Contains(currentDay.DayOfWeek))
                {
                    var existingRoutes  = string.Join(", ", ScheduleProvider.Get(currentDay, TimeSpan.FromDays(1)).Select(schedule => schedule.Route.Name));
                    var scheduledRoutes = string.IsNullOrEmpty(existingRoutes) ? string.Empty : $" - ({existingRoutes})";
                    yield return(new SelectListItem($"{currentDay:dddd M-d}{scheduledRoutes}", currentDay.Date.ToString())
                    {
                        Group = group
                    });
                }

                currentDay = currentDay.AddDays(1);
            }
        }
Ejemplo n.º 2
0
        private void InitializeScheduleTable()
        {
            var scheduleModel = ScheduleProvider.GetLecturerSchedule();
            ScheduleTablePresenter presenter = new ScheduleTablePresenter(scheduleModel);

            var scheduleView = new ScheduleTableView();

            compContainer.AttachView(scheduleView);

            scheduleView.AttachToPresenter(presenter, true);

            scheduleButton.Tag = scheduleView;
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> OnPostScheduleRouteAsync()
        {
            if (!DateTime.TryParse(DateToAdd, out var dateToAdd))
            {
                return(Page());
            }

            var routeToAdd = RouteProvider.Routes.FirstOrDefault(info => info.Name.Equals(RouteToAdd));

            if (routeToAdd == null)
            {
                return(Page());
            }

            ScheduleProvider.AddOrReplace(new DailyRouteSchedule(dateToAdd.Date, routeToAdd));

            return(RedirectToPage());
        }
Ejemplo n.º 4
0
        private void DateTimePicker_ValueChanged(object sender, EventArgs e)
        {
            DateTimePicker dateTimePicker = sender as DateTimePicker;

            if (dateTimePicker.Value.DayOfWeek == DayOfWeek.Sunday)
            {
                return;
            }

            ScheduleDayOfWeek scheduleDayOfWeek = (ScheduleDayOfWeek)((int)(dateTimePicker.Value.DayOfWeek) - 1);

            Presenter.SetDate(dateTimePicker.Value.Date);

            ScheduleTimes = ScheduleProvider.GetScheduleEntry(
                Groups[groupComboBox.SelectedIndex].Id,
                Subjects[subjectComboBox.SelectedIndex].Id,
                scheduleDayOfWeek);

            timeComboBox.Enabled = false;
            timeComboBox.Items.Clear();
            timeComboBox.Text = "";
            for (int i = 0; i < ScheduleTimes.Count; i++)
            {
                timeComboBox.Items.Add(ScheduleTimes[i].Time.ToString("HH;mm"));
            }

            DisposeAttendancePanel();

            if (ScheduleTimes.Count > 0)
            {
                timeComboBox.Enabled = true;

                timeComboBox.SelectedIndex = 0;
                Presenter.SetScheduleEntry(ScheduleTimes[timeComboBox.SelectedIndex]);
            }
        }
Ejemplo n.º 5
0
 public IndexModel(RouteProvider routeProvider, ScheduleProvider scheduleProvider)
 {
     RouteProvider    = routeProvider;
     ScheduleProvider = scheduleProvider;
 }
Ejemplo n.º 6
0
 public ScheduleViewComponent(ScheduleProvider scheduleProvider)
 {
     _scheduleProvider = scheduleProvider;
 }
 public ScheduleGroupController(ScheduleProvider scheduleProvider)
 {
     this.scheduleProvider = scheduleProvider;
 }