Пример #1
0
        [ResponseCache(CacheProfileName = "Home")]                                                 // L'output html prodotto da questa action può essere messo in cache. La duration si misura in secondi
        public async Task <IActionResult> Index([FromServices] ICachedCourseService courseService) //FromServices istruisce il controller a cercare l'istanza nei services, per una corretta dependency injection
        {
            HomeListViewModel homeListViewModel = new HomeListViewModel
            {
                BestCourses       = await courseService.GetBestCourseAsync(),
                MostRecentCourses = await courseService.GetMostRecentCourseAsync()
            };

            ViewData["Title"] = "E-Learning Demo";
            return(View(homeListViewModel));
        }
Пример #2
0
        public async Task <IActionResult> Index([FromServices] ICachedCourseService courseService)
        {
            ViewData["Title"] = "Benvenuto su MyCourse!";
            List <CourseViewModel> bestRatingCourses = await courseService.GetBestRatingCoursesAsync();

            List <CourseViewModel> mostRecentCourses = await courseService.GetMostRecentCoursesAsync();

            HomeViewModel viewModel = new HomeViewModel
            {
                BestRatingCourses = bestRatingCourses,
                MostRecentCourses = mostRecentCourses
            };

            return(View(viewModel));
        }
Пример #3
0
        //permetterà la visualizzazione dei corsi maggiormente piaciuti

        //con [FromServices] permette di dare la giusta indicazione al model binder, che
        //l'istanza ICachedCourseService deve essere cercata tra i servizi registrati per la dependency injection
        public async Task <IActionResult> Index([FromServices] ICachedCourseService courseService)
        {
            ViewData["Title"] = "Benvenuto su MyCourse";

            //otteniamo solo una lista, cioé l'elenco di tutti i corsi (ma limitato al dato inserito in appsettings.json)
            List <CourseViewModel> bestRatingCourses = await courseService.GetBestRatingCoursesAsync();

            List <CourseViewModel> mostRecentCourses = await courseService.GetMostRecentCoursesAsync();

            HomeViewModel viewModel = new HomeViewModel {
                BestRatingCourses = bestRatingCourses,
                MostRecentCourses = mostRecentCourses
            };

            return(View(viewModel));
        }
Пример #4
0
 public CoursesController(ICachedCourseService courseService)
 {
     this.courseService = courseService;
 }
Пример #5
0
 public CourseLimitRequirementHandler(IHttpContextAccessor httpContextAccessor, ICachedCourseService courseService)
 {
     this.courseService       = courseService;
     this.httpContextAccessor = httpContextAccessor;
 }
Пример #6
0
 public CourseSubscriberRequirementHandler(IHttpContextAccessor httpContextAccessor, ICachedCourseService courseService, ILessonService lessonService)
 {
     this.courseService       = courseService;
     this.lessonService       = lessonService;
     this.httpContextAccessor = httpContextAccessor;
 }
Пример #7
0
 public CoursesController(ICachedCourseService courseService) //dipendenza del CoursesController dal Course service (senza questo non potrebbe funzionare)
 {
     this.courseService = courseService;
 }