public IActionResult SearchByIngredients(string searchString, int?pageNumber,
                                                 string searchCondition = "any")
        {
            var drinks = _drinkRepository.GetAllDrinks();

            if (!string.IsNullOrEmpty(searchString))
            {
                Task.Run(() =>
                         _apiService.CreateUserActivity(PerformedAction.SearchByIngredients, this.User.Identity.Name, searchedPhrase: searchString));
                var searchDrinkIngredientsCondition =
                    searchCondition.Equals("all") ? SearchDrinkOption.All : SearchDrinkOption.Any;
                drinks = _drinkSearchService.SearchByIngredients(new SortedSet <string>(searchString.Split(' ')),
                                                                 searchDrinkIngredientsCondition);
            }

            ViewData["SearchString"]    = searchString;
            ViewData["SearchCondition"] = searchCondition;
            ViewData["SearchType"]      = "SearchByIngredients";


            var model = new DrinksViewModel
            {
                Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks,
                                                                    pageNumber ?? 1, _pageSize)
            };

            return(View(model));
        }
        public IActionResult FavouriteDrinks(int?pageNumber)
        {
            var drinks = _favouriteRepository.GetUserFavouriteDrinks(_userManager.GetUserId(User));

            var model = new DrinksViewModel
            {
                Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize)
            };

            return(View(model));
        }
        public IActionResult Index(int?pageNumber)
        {
            Task.Run(() => _apiService.CreateUserActivity(PerformedAction.AllDrinks, this.User.Identity.Name));
            var drinks = _drinkRepository.GetAllDrinks().OrderBy(x => x.Name);
            var model  = new DrinksViewModel
            {
                Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize)
            };

            return(View(model));
        }
        public IActionResult Index(string movieGenre, string searchString, string sortOrder, int?pageNumber = DefaultPageNumber, int?pageSize = DefaultPageSize)
        {
            ViewData["TitleSortParam"]       = String.IsNullOrEmpty(sortOrder) ? "title_desc" : "";
            ViewData["ReleaseDateSortParam"] = sortOrder == "Release Date" ? "date_desc" : "ReleaseDate";
            ViewData["GenreSortParam"]       = sortOrder == "Genre" ? "genre_desc" : "Genre";
            ViewData["CurrentSort"]          = sortOrder;
            ViewData["CurrentFilter"]        = movieGenre;
            var movies      = UnitOfWork.Movies.GetAll().Select(m => new MovieViewModel(m)).ToList();
            var genresFound = movies.OrderBy(m => m.Genre).Select(m => m.Genre).ToList();

            if (!String.IsNullOrEmpty(searchString))
            {
                movies = movies.Where(m => m.Title.ToLower().Contains(searchString.ToLower())).ToList();
            }
            if (!String.IsNullOrEmpty(movieGenre))
            {
                movies = movies.Where(m => m.Genre.Equals(movieGenre)).ToList();
            }
            var movieGenreViewModel = new MovieGenreViewModel();

            movieGenreViewModel.Genres = genresFound.Distinct().Select(genre => new SelectListItem(genre, genre)).ToList();
            movieGenreViewModel.Movies = movies;
            switch (sortOrder)
            {
            case "title_desc":
                movieGenreViewModel.Movies = movies.OrderByDescending(m => m.Title).ToList();
                break;

            case "ReleaseDate":
                movieGenreViewModel.Movies = movies.OrderBy(m => m.ReleaseDate).ToList();
                break;

            case "date_desc":
                movieGenreViewModel.Movies = movies.OrderByDescending(m => m.ReleaseDate).ToList();
                break;

            case "Genre":
                movieGenreViewModel.Movies = movies.OrderBy(m => m.Genre).ToList();
                break;

            case "genre_desc":
                movieGenreViewModel.Movies = movies.OrderByDescending(m => m.Genre).ToList();
                break;

            default:
                movieGenreViewModel.Movies = movies.OrderBy(m => m.Title).ToList();
                break;
            }
            movieGenreViewModel.pageSize  = pageSize.Value;
            movieGenreViewModel.PagedList = PaginatedList <MovieViewModel> .CreatePaginatedList(movieGenreViewModel.Movies, pageNumber.Value, movieGenreViewModel.pageSize);

            return(View(movieGenreViewModel));
        }
        public IActionResult SearchByAlcoholContent(int?pageNumber, bool alcoholics = true, bool nonAlcoholics = true, bool optionalAlcoholics = true)
        {
            ViewData["Alcoholics"]         = alcoholics;
            ViewData["nonAlcoholics"]      = nonAlcoholics;
            ViewData["optionalAlcoholics"] = optionalAlcoholics;
            var drinks = _drinkSearchService
                         .SearchByAlcoholContent(alcoholics, nonAlcoholics, optionalAlcoholics);

            //Model saves alcoholic content info passed by controller to save
            //user choices while going through PaginatedList pages
            var model = new DrinksViewModel
            {
                Drinks             = PaginatedList <Drink> .CreatePaginatedList(drinks, pageNumber ?? 1, _pageSize),
                Alcoholics         = alcoholics,
                NonAlcoholics      = nonAlcoholics,
                OptionalAlcoholics = optionalAlcoholics
            };

            return(View(model));
        }
        public IActionResult SearchByName(string searchString, int?pageNumber)
        {
            var drinks = _drinkRepository.GetAllDrinks();

            if (!string.IsNullOrEmpty(searchString))
            {
                Task.Run(() =>
                         _apiService.CreateUserActivity(PerformedAction.SearchByName, this.User.Identity.Name, searchedPhrase: searchString));
                drinks = _drinkSearchService.SearchByName(searchString);
            }

            ViewData["SearchString"] = searchString;
            ViewData["SearchType"]   = "SearchByName";

            var model = new DrinksViewModel
            {
                Drinks = PaginatedList <Drink> .CreatePaginatedList(drinks.AsEnumerable(),
                                                                    pageNumber ?? 1, _pageSize)
            };

            return(View(model));
        }
예제 #7
0
        public IActionResult Index()
        {
            var cursos = new List <CursoDto>();

            return(View("Index", PaginatedList <CursoDto> .CreatePaginatedList(cursos, Request)));
        }