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); } }
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; }
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()); }
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]); } }
public IndexModel(RouteProvider routeProvider, ScheduleProvider scheduleProvider) { RouteProvider = routeProvider; ScheduleProvider = scheduleProvider; }
public ScheduleViewComponent(ScheduleProvider scheduleProvider) { _scheduleProvider = scheduleProvider; }
public ScheduleGroupController(ScheduleProvider scheduleProvider) { this.scheduleProvider = scheduleProvider; }