示例#1
0
        public async Task <ActionResult> Index([FromQuery] QueryParams queryParams)
        {
            string searchString = string.Empty;
            int    pageIndex    = 1;
            int    itemsPerPage = Constants.ITEMS_PER_PAGE;

            if (queryParams != null)
            {
                searchString = queryParams.SearchString;
                pageIndex    = queryParams.PageNumber;
                itemsPerPage = queryParams.ItemsPerPage ?? itemsPerPage;
            }
            var paginatedDirectors = await _mediator.Send(new GetPaginatedDirectorsQuery(searchString, pageIndex, itemsPerPage));

            var directorIndexViewModel = new DirectorIndexViewModel
            {
                Directors      = _mapper.Map <List <DirectorViewModel> >(paginatedDirectors.AsEnumerable <Director>()),
                PaginationInfo = new ViewModels.PaginationInfoViewModel
                {
                    PageIndex       = paginatedDirectors.PageIndex,
                    ItemsPerPage    = paginatedDirectors.ItemsPerPage,
                    TotalPages      = paginatedDirectors.TotalPages,
                    HasNextPage     = paginatedDirectors.HasNextPage,
                    HasPreviousPage = paginatedDirectors.HasPreviousPage
                },
                SearchString = searchString
            };

            return(View(directorIndexViewModel));
        }
示例#2
0
        // GET: Directors
        public ActionResult Index()
        {
            var model = new DirectorIndexViewModel()
            {
                Directors = db.Directors.ToList()
            };

            return(View(model));
        }