Пример #1
0
        public ActionResult Post([Optional] OrderBy?orderBy, [Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")] int page = 1, [Range(1, int.MaxValue, ErrorMessage = "页大小必须大于0")] int size = 15)
        {
            ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin && !p.IsFixedTop);
            var viewModel = GetIndexPageViewModel(page, size, orderBy, CurrentUser);

            return(View(viewModel));
        }
Пример #2
0
        public ActionResult Index()
        {
            ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin);
            var banners    = BannerService.GetAllFromCache().OrderBy(b => new Random().Next()).ToList();
            var fastShares = FastShareService.GetAllFromCache(s => s.Sort).ToList();

            ViewBag.FastShare = fastShares;
            var viewModel = GetIndexPageViewModel(1, 15, OrderBy.ModifyDate, CurrentUser);

            viewModel.Banner = banners;
            return(View(viewModel));
        }
Пример #3
0
        public ActionResult Index()
        {
            ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin);
            var banners    = AdsService.GetsByWeightedPrice(8, AdvertiseType.Banner).OrderBy(a => Guid.NewGuid()).ToList();
            var fastShares = FastShareService.GetAllFromCache(s => s.Sort).ToList();

            ViewBag.FastShare = fastShares;
            var viewModel = GetIndexPageViewModel(1, 15, OrderBy.ModifyDate, CurrentUser);

            viewModel.Banner = banners;
            return(View(viewModel));
        }
Пример #4
0
        public ActionResult Index(OrderBy orderBy = OrderBy.ModifyDate)
        {
            ViewBag.Total = PostService.Count(p => p.Status == Status.Pended);
            UserInfoOutputDto user      = HttpContext.Session.Get <UserInfoOutputDto>(SessionKey.UserInfo) ?? new UserInfoOutputDto();
            var banners                 = BannerService.GetAllFromL2CacheNoTracking(b => new Random().Next()).ToList();
            List <FastShare> fastShares = FastShareService.GetAllFromL2CacheNoTracking(s => s.Sort).ToList();

            ViewBag.FastShare = fastShares;
            var viewModel = GetIndexPageViewModel(1, 15, orderBy, user);

            viewModel.Banner = banners;
            return(View(viewModel));
        }
Пример #5
0
        public ActionResult Index()
        {
            ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin);
            var banners    = AdsService.GetsByWeightedPrice(8, AdvertiseType.Banner).OrderBy(a => Guid.NewGuid()).ToList();
            var fastShares = FastShareService.GetAllFromCache(s => s.Sort).ToList();
            var postsQuery = PostService.GetQuery <PostOutputDto>(p => (p.Status == Status.Pended || CurrentUser.IsAdmin)); //准备文章的查询
            var posts      = postsQuery.Where(p => !p.IsFixedTop).OrderBy(OrderBy.ModifyDate.GetDisplay() + " desc").Take(15).Cacheable().ToList();
            var viewModel  = GetIndexPageViewModel();

            viewModel.Banner  = banners;
            viewModel.Posts   = Enumerable.AsEnumerable(postsQuery.Where(p => p.IsFixedTop).OrderByDescending(p => p.ModifyDate)).Union(posts).ToList();
            ViewBag.FastShare = fastShares;
            return(View(viewModel));
        }
Пример #6
0
        public ActionResult Post([Optional] OrderBy?orderBy, [Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")] int page = 1, [Range(1, int.MaxValue, ErrorMessage = "页大小必须大于0")] int size = 15)
        {
            ViewBag.Total = PostService.Count(p => p.Status == Status.Pended || CurrentUser.IsAdmin && !p.IsFixedTop);
            var viewModel  = GetIndexPageViewModel();
            var postsQuery = PostService.GetQuery <PostOutputDto>(p => (p.Status == Status.Pended || CurrentUser.IsAdmin)); //准备文章的查询
            var posts      = postsQuery.Where(p => !p.IsFixedTop).OrderBy((orderBy ?? OrderBy.ModifyDate).GetDisplay() + " desc").Skip(size * (page - 1)).Take(size).Cacheable().ToList();

            if (page == 1)
            {
                posts = Enumerable.AsEnumerable(postsQuery.Where(p => p.IsFixedTop).OrderByDescending(p => p.ModifyDate)).Union(posts).ToList();
            }

            viewModel.Posts = posts;
            return(View(viewModel));
        }
Пример #7
0
        public void ShouldReturnIntCountPost()
        {
            // Arrange
            var expected        = 5;
            var mockGenericRepo = new Mock <IGenericRepository <Post> >();

            mockGenericRepo.Setup(s => s.Count(It.IsAny <Expression <Func <Post, bool> > >())).Returns(expected);

            var postService = new PostService(mockGenericRepo.Object);

            // Act
            var act = postService.Count();

            // Assert
            Assert.Equal(expected, act);
        }