Esempio n. 1
0
        public override ActionResult Index()
        {
            //标签
            List <TreeSelectModel> tagItemsList = _itemsDetailRepository.GetCombobox("Tag");

            tagItemsList.RemoveAt(0);
            ViewData["Tag"] = tagItemsList;

            //最新文章
            List <ArtDetailDto> latestArticles = _articleRepository.GetRecentArticle(5);

            ViewData["LatestArticles"] = latestArticles;

            //最热文章
            List <Article> hotArticles = _articleRepository.GetHotArticle(8);

            ViewData["HotArticles"] = hotArticles;

            //吐槽
            List <ReplyDto> spitslotList = _reviewRepository.GetRecentReview(8);

            ViewData["SpitslotList"] = spitslotList;

            //统计
            SiteStatistics site = _articleRepository.GetSiteData();

            ViewData["Site"] = site;

            //轻松时刻 | 缓存
            ViewData["JustFun"] = _iredisHelper.UnitOfWork(string.Format(ConstHelper.App, "JustFun"), () =>
            {
                List <ArtDetailDto> justFunList = _articleRepository.GetArticleList(_articleRepository.Queryable(u => u.DeleteMark == false && u.ItemsDetail.ItemCode == CategoryCode.Justfun.ToString())).OrderByDescending(u => u.Id).Take(5).ToList();
                if (justFunList.Count > 0)
                {
                    justFunList[0].Content = Server.UrlDecode(justFunList[0].Content);
                }
                return(justFunList);
            });

            //人生感悟 | 缓存
            ViewData["FellLife"] = _iredisHelper.UnitOfWork(string.Format(ConstHelper.App, "FellLife"), () =>
            {
                List <ArtDetailDto> feLifeList = _articleRepository.GetArticleList(_articleRepository.Queryable(u => u.DeleteMark == false && u.ItemsDetail.ItemCode == CategoryCode.Feelinglife.ToString())).OrderByDescending(u => u.Id).Take(5).ToList();
                if (feLifeList.Count > 0)
                {
                    feLifeList[0].Content = Server.UrlDecode(feLifeList[0].Content);
                }
                return(feLifeList);
            });

            return(base.Index());
        }
Esempio n. 2
0
 /// <summary>
 /// 最新的文章| 缓存
 /// </summary>
 /// <param name="count"></param>
 /// <returns></returns>
 public List <ArtDetailDto> GetRecentArticle(int count)
 {
     return(_iRedisHelper.UnitOfWork(string.Format(ConstHelper.Article, "GetRecentArticle"), () =>
     {
         IQueryable <Article> artiQuaryable = this.Queryable(u => u.DeleteMark == false).OrderByDescending(r => r.Id).Take(count);
         return this.GetArticleList(artiQuaryable);
     }));
 }
 public List <TreeSelectModel> GetCombobox(string encode)
 {
     return(_iRedisHelper.UnitOfWork(string.Format(ConstHelper.ItemsDetailAll, "GetCombobox-" + encode), () =>
     {
         List <TreeSelectModel> treeList = this.Queryable(r => r.Items.EnCode == encode).OrderBy(u => u.SortCode).ToList().Select(u => new TreeSelectModel
         {
             Id = u.Id.ToString(),
             Text = u.ItemName,
             ParentId = "0",
             Data = u.ItemCode
         }).ToList();
         treeList.Insert(0, new TreeSelectModel {
             Id = "-1", ParentId = "0", Text = "==请选择=="
         });
         return treeList;
     }));
 }
Esempio n. 4
0
 public List <ReplyDto> GetRecentReview(int count)
 {
     return(_iRedisHelper.UnitOfWork(string.Format(ConstHelper.Review, "GetRecentReview"), () =>
     {
         return this.Queryable().OrderByDescending(u => u.Id).Take(count).Select(u => new
         {
             u.Article.Title,
             Avatar = u.AppUser != null ? u.AppUser.Avatar : u.Avatar,
             u
         }).ToList().Select(r => new ReplyDto
         {
             Id = r.u.Id,
             AId = r.u.AId,
             ArticleTitle = r.Title,
             Text = r.u.Text,
             NickName = r.u.AuName,
             Avatar = r.Avatar
         }).ToList();
     }));
 }
Esempio n. 5
0
        public List <AppModule> GetUserModules(int?userId)
        {
            return(_iRedisHelper.UnitOfWork(string.Format(ConstHelper.AppModule,
                                                          "AuthorizeUrl_" + userId), () =>
            {
                if (OperatorProvider.Provider.CurrentUser.IsAdmin)
                {
                    return this.Queryable(r => r.DeleteMark == false).ToList();
                }
                //1.根据用户编号得到角色编号(集合)
                List <int> roleIdList = this.Db.Set <AppUserRole>().Where(u => u.UserId == userId).Select(u => u.RoleId).ToList();
                //2.根据角色ID取出菜单编号
                List <int> menuIdList = this.Db.Set <AppRoleModule>().Where(u => roleIdList.Contains(u.RoleId)).Select(u => u.ModuleId).ToList();

                //根据菜单编号得到菜单的具体信息
                List <AppModule> listModules = this.Queryable(p => (menuIdList.Contains((int)p.Id))).ToList();

                return listModules;
            }));
        }