コード例 #1
0
        public virtual ActionResult List(GridSortOptions gridSortOptions, int? page = null, int? itemsPerPage = null, string search = null)
        {
            if (gridSortOptions.Column == null)
            {
                gridSortOptions.Column = "Id";
            }

            var entitiesperPage = !itemsPerPage.HasValue ? PagedEntityListFilterDto.DefaultItemsPerPage : itemsPerPage.Value;
            var currentPage = !page.HasValue? 1 : page.Value;

            var userFilter = new PagedEntityListFilterDto
            {
                AscendingOrder = gridSortOptions.Direction == SortDirection.Ascending,
                Column = gridSortOptions.Column,
                StartPage = currentPage,
                ItemsPerPage = entitiesperPage,
                SearchText = search
            };

            var users = userService.GetPage(userFilter);

            var userEntitiesViewModel = EntityToViewModelMapper.Mapper.Map(users.Entities, new List<UserViewModel>());

            var pagination = new CustomPagination<UserViewModel>(userEntitiesViewModel, users.Page, entitiesperPage, users.Count);

            var usersViewModel = new UserListViewModel
            {
                Users = pagination,
                GridSortOptions = gridSortOptions,
                Page = currentPage,
                Search = search
            };

            return View(usersViewModel);
        }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SearchableGridViewModel{TModel}" /> class.
 /// </summary>
 /// <param name="items">The models.</param>
 /// <param name="options">The options.</param>
 /// <param name="totalCount">The total count.</param>
 public SearchableGridViewModel(IEnumerable <TModel> items, SearchableGridOptions options, int totalCount)
 {
     options.TotalCount = totalCount;
     Items       = new CustomPagination <TModel>(items, options.PageNumber, options.PageSize, totalCount);
     SearchQuery = options.SearchQuery;
     GridOptions = options;
 }
コード例 #3
0
        public async Task <IActionResult> Index(int?page,
                                                int?type,
                                                int?city,
                                                int?district,
                                                int?priceRange,
                                                int?acreageRange,
                                                string searchString)
        {
            int pageSize  = 18;
            var condition = new Condition()
            {
                Type         = type ?? 0,
                City         = city ?? 0,
                District     = district ?? 0,
                PriceRange   = priceRange ?? 0,
                AcreageRange = acreageRange ?? 0,
                SearchString = searchString ?? string.Empty
            };

            var source = _realEstateServices.Filter(condition);

            var types = _realEstateServices.GetRealEstateTypeList();

            types = types.Concat(new[] { new RealEstateType {
                                             Id = 0, RealEstateTypeName = "Tất cả"
                                         } });
            types = types.OrderBy(t => t.Id);

            var cities = _realEstateServices.GetCityList();

            cities = cities.Concat(new[] { new City {
                                               Id = 0, CityName = "Tất cả"
                                           } });
            cities = cities.OrderBy(c => c.Id);


            var districts = await _commonServices.GetDistrictsByCity(city);

            districts = districts.Concat(new[] { new District {
                                                     Id = 0, DistrictName = "Tất cả"
                                                 } });
            districts = districts.OrderBy(d => d.Id);

            var priceRanges  = Helper.GetPriceRangeForView();
            var acreagaRange = Helper.GetAcreageRangeForView();

            ViewData["Types"]         = new SelectList(types, "Id", "RealEstateTypeName", condition.Type);
            ViewData["Cities"]        = new SelectList(cities, "Id", "CityName", condition.City);
            ViewData["Districts"]     = new SelectList(districts, "Id", "DistrictName", condition.District);
            ViewData["PriceRanges"]   = new SelectList(priceRanges, "Value", "Key", condition.PriceRange);
            ViewData["AcreagaRanges"] = new SelectList(acreagaRange, "Value", "Key", condition.AcreageRange);

            return(View(await CustomPagination.CreateAsync(source, condition, page ?? 1, pageSize)));
        }
コード例 #4
0
        public virtual ActionResult UsersList(int page = 1)
        {
            var repository = Security.Repository as TicketDesk.Domain.Repositories.SqlSecurityRepository;
            var membership = repository.MembershipSource;
            int totalRecs;
            var m = membership.GetAllUsers(page - 1, 25, out totalRecs);
            List<SecurityManagementUserViewModel> model = new List<SecurityManagementUserViewModel>();
            foreach (var u in m.Cast<MembershipUser>())
            {
                model.Add(CreateViewModelFromUser(u));
            }


            var cp = new CustomPagination<SecurityManagementUserViewModel>(model, page, 25, totalRecs);

            return View(cp);
        }
コード例 #5
0
        public virtual ActionResult UsersList(int page = 1)
        {
            var repository = Security.Repository as TicketDesk.Domain.Repositories.SqlSecurityRepository;
            var membership = repository.MembershipSource;
            int totalRecs;
            var m = membership.GetAllUsers(page - 1, 25, out totalRecs);
            List <SecurityManagementUserViewModel> model = new List <SecurityManagementUserViewModel>();

            foreach (var u in m.Cast <MembershipUser>())
            {
                model.Add(CreateViewModelFromUser(u));
            }


            var cp = new CustomPagination <SecurityManagementUserViewModel>(model, page, 25, totalRecs);

            return(View(cp));
        }
コード例 #6
0
        private CustomPagination<CategoryTopicEntity> GetCategoryTopics(int page, string category)
        {
            int take = 15;
            int skip = (page - 1) * take;

            PagedList<CategoryTopicEntity> topics;

            if (!string.IsNullOrWhiteSpace(category))
            {
                topics = _categoryTopicService.GetAllByCategory(category, skip, take);
            }
            else
            {
                topics = _categoryTopicService.GetAll(skip, take);
            }

            var customPagination = new CustomPagination<CategoryTopicEntity>(topics, page, take, topics.TotalItems);
            return customPagination;
        }
コード例 #7
0
        public ActionResult Index(int? page)
        {
            var products = _catalogService.GetProducts(page ?? 1, NUM_PRODUCTS_PER_PAGE);

            var paged = new CustomPagination<ProductListViewModel>(
                products.Items.Select(
                        x => new ProductListViewModel().InjectFrom(x) as ProductListViewModel)
                        .ToList(),
               (int)products.CurrentPage,
               (int)products.ItemsPerPage,
               (int)products.TotalItems);

            var productsViewModel = new PagedProductsListViewModel()
            {
                ItemInCart = GetItemsInCart(),
                Products = paged
            };
            return View(productsViewModel);
        }
コード例 #8
0
        //
        // GET: /Events/

		public ActionResult Index(int? page, int? pageSize, EnumServiceMessageLevel? level, bool? json)
        {
			this.ViewBag.Level = level;

			var realPageSize = pageSize.GetValueOrDefault(20);
			var query = this.Logger.GetEventList(page.GetValueOrDefault(1) - 1, realPageSize, level);
			var viewModel = new CustomPagination<ServiceMessage>
				(query, 
				page.GetValueOrDefault(1),
				realPageSize,
				this.Logger.GetEventCount(level));
			if(json.GetValueOrDefault(false))
			{
				return Json(viewModel, JsonRequestBehavior.AllowGet);
			}
			else 
			{
	            return View(viewModel);
			}
        }
コード例 #9
0
        //
        // GET: /Events/

        public ActionResult Index(int?page, int?pageSize, EnumServiceMessageLevel?level, bool?json)
        {
            this.ViewBag.Level = level;

            var realPageSize = pageSize.GetValueOrDefault(20);
            var query        = this.Logger.GetEventList(page.GetValueOrDefault(1) - 1, realPageSize, level);
            var viewModel    = new CustomPagination <ServiceMessage>
                                   (query,
                                   page.GetValueOrDefault(1),
                                   realPageSize,
                                   this.Logger.GetEventCount(level));

            if (json.GetValueOrDefault(false))
            {
                return(Json(viewModel, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(View(viewModel));
            }
        }
コード例 #10
0
        public virtual ActionResult UsersList(int page = 1)
        {
            ViewBag.NoEmailAddressFound = false;
            if (page == 0) //horrible hack to get the email search to show up if no details found. sorry.
            {
                ViewBag.NoEmailAddressFound = true;
                page = 1;
            }
            var repository = Security.Repository as TicketDesk.Domain.Repositories.SqlSecurityRepository;
            var membership = repository.MembershipSource;
            int totalRecs;
            var m = membership.GetAllUsers(page - 1, 25, out totalRecs);
            List <SecurityManagementUserViewModel> model = new List <SecurityManagementUserViewModel>();

            foreach (var u in m.Cast <MembershipUser>())
            {
                model.Add(CreateViewModelFromUser(u));
            }


            var cp = new CustomPagination <SecurityManagementUserViewModel>(model, page, 25, totalRecs);

            return(View(cp));
        }
コード例 #11
0
        /// <summary>
        /// Displays the puzzles on the user profile page.
        /// </summary>
        /// <param name="id">The id of the user who's profile is being displayed.</param>
        /// <param name="sortType">The id of the user who's profile is being displayed</param>
        /// <param name="page">The page number to show</param>
        /// <param name="pageSize">The size of the page to return.</param>
        public ActionResult UserDisplayPuzzles(int id, PuzzleSortType? sortType, int? page, int? pageSize)
        {
            sortType = sortType ?? PuzzleSortType.Newest;
            page = page ?? 1;
            pageSize = pageSize ?? 10;

            var loggedInUserId = _authenticationService.CurrentUserId;
            var user = _accountService.GetUserById(id);

            if (user == null)
                return View("NotFound");

            var puzzles = _puzzleService.GetPuzzlesByUserId(id, sortType.Value, page.Value, pageSize.Value);
            var votes = _puzzleService.GetVotes(puzzles, loggedInUserId);

            var puzzleVms = new List<UserProfilePuzzleViewModel>();
            foreach (var puzzle in puzzles)
            {
                var puzzleId = puzzle.Id;
                var userVote = votes.Where(x => x.UserId == loggedInUserId && x.PuzzleId == puzzleId).SingleOrDefault();
                var userVoteType = userVote == null ? VoteType.None : userVote.VoteType;
                puzzleVms.Add(new UserProfilePuzzleViewModel(puzzle, userVoteType, _authenticationService.IsAuthenticated, loggedInUserId));
            }

            var userProfilePuzzleVMs = new CustomPagination<UserProfilePuzzleViewModel>(puzzleVms, puzzles.PageNumber, puzzles.PageSize, puzzles.TotalItems);

            return PartialView(new UserProfilePuzzleListViewModel(userProfilePuzzleVMs, sortType.Value, user.Id));
        }