public void Get_PageNullSortNull_ReturnPage1SortedByCreateDate()
        {
            // Arrange
            var mock = new Mock <IAjaxDataGridRepository>();
            CollaborationSpacesController controller = new CollaborationSpacesController(mock.Object);

            // Act
            CollaborationSpaceSearchResultModel result = controller.Get(null, null);

            // Assert
            Assert.AreEqual(1, result.CurrentPage);
            Assert.AreEqual("CreateDate", result.SortExpression);
        }
        // GET api/CollaborationSpaces?Page=1&SortExpression=CreateDate
        public CollaborationSpaceSearchResultModel Get(int?Page, string SortExpression)
        {
            int    resultsFound;
            int    page           = Page ?? 1;
            string sortExpression = SortExpression ?? "CreateDate";
            var    model          = new CollaborationSpaceSearchResultModel();

            model.CollaborationSpaceSearchResults = m_repository.GetActiveCollaborationSpaces(page, 10, SortExpression, out resultsFound);
            model.NumberOfResults = resultsFound;
            model.ItemsPerPage    = 10;
            model.CurrentPage     = page;
            model.SortExpression  = sortExpression;
            return(model);
        }
        public IActionResult Index(int?Page,
                                   string SortExpression,
                                   bool?Accending,
                                   List <int> Genres)
        {
            //Set default values for all optional  parameters
            var safePage           = Page ?? 1;
            var safeSortExpression =
                string.IsNullOrEmpty(SortExpression) ? "CreateDate" : SortExpression;

            bool useDefaultSort = Accending.HasValue ? Accending.Value : true;

            var resultsFound = 0;
            var model        = new CollaborationSpaceSearchResultModel();
            var search       =
                new CollaborationSpaceSearchParams
            {
                SortExpression    = safeSortExpression,
                CurrentPageNumber = safePage,
                ItemsPerPage      = 10,
                GenreFilter       = Genres
            };

            model.CollaborationSpaceSearchResults =
                _UnitOfWork.CollaborationSpaceRepository.GetActiveCollaborationSpaces(search,
                                                                                      out resultsFound);
            model.NumberOfResults = resultsFound;
            model.GenreLookUpList =
                (IList <GenreLookUp>)_UnitOfWork.GenreLookUpRepository.Query();
            model.CurrentPage    = safePage;
            model.ItemsPerPage   = 10;
            model.SortExpression = safeSortExpression;

            // if a filter has been selected add to the model
            // so we can show what filter is selected in the view
            if (Genres != null && Genres.Count > 0)
            {
                model.GenreLookUpId = Genres[0];
            }

            model.ResultsDescription =
                string.Format("Displaying records {0} - {1} of {2} sorted by {3}",
                              (safePage * 10),
                              (safePage * 10) + 10,
                              resultsFound,
                              safeSortExpression);
            return(View("Index", model));
        }
        public ActionResult GridViewReplacement(int?Page, string SortExpression, bool?Accending, int?CategoryId)
        {
            //Set default values for all optional  parameters
            //int page = Page.HasValue ? Page.Value : 1;
            int    page           = Page ?? 1;
            string sortExpression = string.IsNullOrEmpty(SortExpression) ? "CreateDate" : SortExpression;
            bool   useDefaultSort = Accending.HasValue ? Accending.Value : true;
            int    categoryId     = CategoryId.HasValue ? CategoryId.Value : 0;
            int    resultsFound   = 0;
            // set up model
            CollaborationSpaceSearchResultModel model = new CollaborationSpaceSearchResultModel();


            model.CollaborationSpaceSearchResults = m_repository.GetActiveCollaborationSpaces(page, 10, sortExpression, categoryId, useDefaultSort, out resultsFound);
            model.GenreLookUpList = m_repository.GetGenreLookupList();
            model.NumberOfResults = resultsFound;
            model.CurrentPage     = page;
            model.ItemsPerPage    = 10;
            model.CategoryId      = categoryId;
            model.SortExpression  = sortExpression;
            return(View("GridViewReplacement", model));
        }