コード例 #1
0
        public async Task <HomeIndexViewModel> BuildIndexViewModel()
        {
            var allUpcomingClasses       = _scheduledClassReader.GetAllScheduledClasses();
            var nextThreeUpcomingClasses = allUpcomingClasses.Where(t => t.ClassStartTime > DateTime.UtcNow)
                                           .OrderBy(x => x.ClassStartTime).Take(2).ToList();

            var allClassTypes           = _classTypeReader.GetAllClassTypes();
            var threeUpcomingClassTypes = allClassTypes.Where(x => nextThreeUpcomingClasses.Select(u => u.ClassTypeName).Contains(x.Name)).ToList();

            var upcomingClassViewModels = nextThreeUpcomingClasses.Select(x => new UpcomingClassViewModel()
            {
                ClassTypeName = x.ClassTypeName,
                ClassTypeId   = allClassTypes.FirstOrDefault(u => u.Name == x.ClassTypeName).Id,
                NextScheduledClassStartTime = $"{x.ClassStartTime.DayOfWeek} {x.ClassStartTime.ToShortTimeString()}"
            }).ToList();

            var viewModel = new HomeIndexViewModel()
            {
                UpcomingClasses = upcomingClassViewModels
            };

            return(await Task.FromResult(viewModel));
        }
コード例 #2
0
        public async Task <IList <ClassTypeDto> > GetAllClassTypes()
        {
            var result = _classTypeReader.GetAllClassTypes();

            return(await Task.FromResult(result));
        }