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
        public async Task <IViewComponentResult> InvokeAsync(DateTime dateTime)
        {
            var beginningOfWeek = DateTimeHelper.GetBeginningOfWeek(DateTime.Now);

            return(View(
                       new WeeklySchedule(
                           beginningOfWeek,
                           _scheduleProvider.Get(beginningOfWeek, TimeSpan.FromDays(7)))));
        }