private async Task <List <MoviesOnCategoriesModel> > LoadMovie(int categoryId = 0, bool showOnHomePage = false, int pageIndex = 1, int pageSize = 12) { var model = new List <MoviesOnCategoriesModel>(); try { var categories = _categoryService.Categories(showOnHomePage); foreach (var item in categories) { var subs = _categoryService.Categories().Where(c => c.ParentCategoryId == item.Id); var moviesOnCategory = new MoviesOnCategoriesModel() { CategoryName = item.Name, CategoryId = item.Id, CategorySeName = item.GetSeName(), Categories = PrepareCategoryModel(subs.ToList()) }; foreach (var c in moviesOnCategory.Categories) { if (c.Id == categoryId) { c.IsActive = true; break; } } if (categoryId > 0) { subs = subs.Where(c => c.Id == categoryId).ToList(); } var categoryIds = subs.Select(x => x.Id).ToList(); var movies = await _movieService.SearchMoviesWithAsync(pageSize : pageSize, categoryIds : categoryIds); moviesOnCategory.Movies = movies.Select(x => _movieModelFactory.PrepareMovieModel(x)).ToList(); model.Add(moviesOnCategory); } } catch (Exception e) { throw; } return(model); }
public async Task <JsonResult> LoadMore(MoviePagingFilteringModel command, int categoryId = 0) { if (command.PageSize <= 0) { command.PageSize = 12; } if (command.PageNumber <= 0) { command.PageNumber = 1; } var model = new MoviesOnCategoriesModel(); try { var categories = _categoryService.Categories().ToList(); foreach (var item in categories) { var subs = _categoryService.Categories().Where(c => c.ParentCategoryId == item.Id); var moviesOnCategory = new MoviesOnCategoriesModel() { CategoryName = item.Name, CategoryId = item.Id, CategorySeName = item.GetSeName(), }; var movies = await _movieService.SearchMoviesWithAsync("", command.PageNumber, command.PageSize, categoryIds : new List <int> { categoryId }); model.Movies = movies.Select(x => _movieModelFactory.PrepareMovieModel(x)).ToList(); string modelString = await RenderToStringAsync("Movie/_LoadMore", model); return(Json(new { ModelString = modelString, pageNumber = command.PageNumber })); } } catch (Exception e) { throw; } return(Json(model)); }
public async Task <IViewComponentResult> InvokeAsync( int pageIndex = 1, int pageSize = 12) { int categoryId = ViewData["categoryId"] != null ? (int)ViewData["categoryId"] : 0; var model = new MoviesOnCategoriesModel(); //string key = ""; //key = string.Format(ModelCacheEventConsumer.MOVIES_ON_CATEGORY, categoryId); // var cachedEntry = await _cacheManager.Get(key, async () => //{ model = await LoadMovie(categoryId, pageIndex, pageSize); //should not use cache here //return model; //}); return(View(model)); }
private async Task <MoviesOnCategoriesModel> LoadMovie(int categoryId = 0, int pageIndex = 1, int pageSize = 12) { var model = new MoviesOnCategoriesModel(); try { var category = _categoryService.GetCategoryById(categoryId); model.CategoryName = category.Name; model.CategoryId = category.Id; model.CategorySeName = category.GetSeName(); var movies = await _movieService.SearchMoviesWithAsync(pageSize : pageSize, categoryIds : new List <int> { categoryId }); model.Movies = movies.ToList().Select(x => _movieModelFactory.PrepareMovieModel(x, 400)).ToList(); } catch (Exception e) { throw; } return(model); }