public JsonResult CommentsPost(string author, string author_email, string content, ulong parent)
 {
     //检验传入数据
     using (var context = DataBaseContextConfig.CreateEasyJoyBlogContext())
     {
         EjbComments ejbComments = new EjbComments
         {
             CommentPostId      = 0,//0留言
             CommentAuthor      = author,
             CommentAuthorUrl   = "",
             CommentAuthorIp    = HttpContext.GetClientUserIp(),
             CommentDate        = DateTime.Now,
             CommentDateGmt     = DateTime.Now,
             CommentContent     = content,
             CommentKarma       = 0,
             CommentApproved    = "1",
             CommentAgent       = "",
             CommentType        = "",
             UserId             = 0,
             CommentAuthorEmail = author_email,
             CommentParent      = parent
         };
         context.EjbComments.Add(ejbComments);
         if (context.SaveChanges() > 0)
         {
             return(Json(new { type = "success", content = ejbComments.CommentId }));
         }
         else
         {
             return(Json(new { type = "error", content = "留言失败!" }));
         }
     }
 }
        public IActionResult Index(string type = "")
        {
            ViewData["PageType"] = "ArticleList";
            using (var context = DataBaseContextConfig.CreateEasyJoyBlogContext())
            {
                //加载分类目录
                List <EjbTerms>             lvterms = context.EjbTerms.ToList();
                List <EjbTermRelationships> ejbTermRelationships = context.EjbTermRelationships.ToList();
                //分组查询分类(去掉无文章的分类)
                var terms = from a in lvterms
                            join b in ejbTermRelationships
                            on a.TermId equals b.TermTaxonomyId
                            group a by a.Name into a
                            select a;
                lvterms = new List <EjbTerms>();
                foreach (var item in terms)
                {
                    lvterms.Add(item.First());
                }
                //判断加载博文类型
                if (type == "" || type == "All")
                {
                    //加载全部文章
                    ViewData["blogtype"] = "All";
                }
                else
                {
                    ViewData["blogtype"] = type;
                }

                ViewData["Terms"] = lvterms;
            }
            return(View());
        }
        /// <summary>
        /// 留言列表
        /// </summary>
        /// <returns></returns>
        public JsonResult CommentsList()
        {
            List <Comments> ejbComments = new List <Comments>();

            using (var context = DataBaseContextConfig.CreateEasyJoyBlogContext())
            {
                //查询留言数据
                var Posts = context.EjbComments.Where(a => a.CommentPostId == 0 && a.CommentApproved == "1" && a.CommentParent == 0).OrderByDescending(a => a.CommentDate);
                //查询回复的数据
                var              CommentHfData = context.EjbComments.Where(a => a.CommentPostId == 0 && a.CommentApproved == "1" && a.CommentParent > 0);
                Comments         comments;
                List <CommentHf> commentHfs;
                CommentHf        commentHf;
                foreach (var item in Posts)
                {
                    commentHfs = new List <CommentHf>();
                    var HfData = CommentHfData.Where(a => a.CommentParent == item.CommentId);
                    if (HfData.Count() > 0)//判断有回复
                    {
                        foreach (var j in HfData)
                        {
                            commentHf = new CommentHf()
                            {
                                atName    = j.CommentAuthor,
                                hfContent = j.CommentContent,
                                hfName    = item.CommentAuthor,
                                hfTime    = j.CommentDate.ToString()
                            };
                            //添加回复条目
                            commentHfs.Add(commentHf);
                        }
                    }
                    //给留言条目类赋值
                    comments = new Comments()
                    {
                        id             = item.CommentId,
                        commentContent = item.CommentContent,
                        commentHfs     = commentHfs,
                        commentName    = item.CommentAuthor,
                        commentTime    = item.CommentDate.ToString()
                    };
                    //添加留言条目
                    ejbComments.Add(comments);
                }
            }
            if (ejbComments.Count() > 0)
            {
                return(Json(new { status = "ok", message = "", datas = ejbComments }));
            }
            else
            {
                return(Json(new { status = "no", message = "", datas = ejbComments }));
            }
        }
Esempio n. 4
0
 public IActionResult Index()
 {
     using (var context = DataBaseContextConfig.CreateEasyJoyBlogContext())
     {
         //查询文章
         var Posts = context.EjbPosts.Where(a => a.PingStatus == "open" && a.PostStatus == "publish").OrderByDescending(a => a.PostDate);
         //查询分类
         List <EjbTerms> Terms = context.EjbTerms.ToList();
         //查询文章分类关系
         List <EjbTermRelationships> TermRelationships = context.EjbTermRelationships.ToList();
         //博文列表视图模型列表
         List <BlogArticle>          ejbPosts = new List <BlogArticle>();
         Dictionary <string, string> TermName = new Dictionary <string, string>();
         foreach (var item in Posts)
         {
             //加载标签关系
             TermName = new Dictionary <string, string>();
             var Termdata = from a in TermRelationships
                            join b in Terms
                            on a.TermTaxonomyId equals b.TermId
                            where a.ObjectId == item.Id
                            select b;
             foreach (var j in Termdata)
             {
                 TermName.Add(j.Name, j.Slug);
             }
             //赋值给视图模型类
             BlogArticle blogArticle = new BlogArticle()
             {
                 BlogInfo  = Article.BlogInfo(item.PostContent, 200),
                 ClassName = TermName,
                 DTime     = item.PostDate.ToShortDateString(),
                 Link      = item.Id,
                 Img       = "images/text02.jpg",
                 Title     = item.PostTitle,
                 ViewNum   = 0
             };
             ejbPosts.Add(blogArticle);
         }
         return(View(ejbPosts));
     }
 }
        /// <summary>
        /// 博文详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public IActionResult Detail(ulong id = 0)
        {
            ViewData["PageType"] = "Detail";
            if (id == 0)
            {
                return(RedirectToAction("Index", "Home", new { }));
            }
            else
            {
                using (var context = DataBaseContextConfig.CreateEasyJoyBlogContext())
                {
                    //加载分类目录
                    List <EjbTerms>             lvterms = context.EjbTerms.ToList();
                    List <EjbTermRelationships> ejbTermRelationships = context.EjbTermRelationships.ToList();
                    var terms = from a in lvterms
                                join b in ejbTermRelationships
                                on a.TermId equals b.TermTaxonomyId
                                group a by a.Name into a
                                select a;
                    lvterms = new List <EjbTerms>();
                    foreach (var item in terms)
                    {
                        lvterms.Add(item.First());
                    }

                    ViewData["Terms"] = lvterms;
                    EjbPosts ejbPosts = context.EjbPosts.Where(a => a.Id == id && a.PingStatus == "open" && a.PostStatus == "publish").FirstOrDefault();
                    if (ejbPosts == null)
                    {
                        return(RedirectToAction("Index", "Home", new { }));
                    }
                    else
                    {
                        //查询作者
                        EjbUsers ejbUsers = context.EjbUsers.Where(a => a.Id == ejbPosts.PostAuthor).FirstOrDefault();
                        Dictionary <string, string> TermName = new Dictionary <string, string>();
                        //加载标签关系
                        var Termdata = from a in context.EjbTermRelationships.ToList()
                                       join b in context.EjbTerms.ToList()
                                       on a.TermTaxonomyId equals b.TermId
                                       where a.ObjectId == ejbPosts.Id
                                       select b;
                        foreach (var j in Termdata)
                        {
                            TermName.Add(j.Name, j.Slug);
                        }
                        ArticleDetail articleDetail = new Models.ArticleDetail()
                        {
                            Id      = ejbPosts.Id,
                            Title   = ejbPosts.PostTitle,
                            Content = ejbPosts.PostContent,
                            Date    = ejbPosts.PostDate.ToShortDateString(),
                            Author  = ejbUsers.DisplayName,
                            Click   = 0,
                            Last    = "文章1",
                            Next    = "文章2",
                            Tag     = TermName,
                            Term    = ""
                        };
                        ViewData["ArticleDetail"] = articleDetail;
                    }
                }
            }
            return(View());
        }
 /// <summary>
 /// 加载博文列表
 /// </summary>
 /// <param name="type">博文slug,默认为空,加载全部博文</param>
 /// <returns></returns>
 public JsonResult BlogsList(string type = "")
 {
     using (var context = DataBaseContextConfig.CreateEasyJoyBlogContext())
     {
         //查询文章
         var Posts = context.EjbPosts.Where(a => a.PingStatus == "open" && a.PostStatus == "publish").OrderByDescending(a => a.PostDate);
         //查询分类
         List <EjbTerms> Terms = context.EjbTerms.ToList();
         //查询文章分类关系
         List <EjbTermRelationships> TermRelationships = context.EjbTermRelationships.ToList();
         //博文列表视图模型列表
         List <BlogArticle>          ejbPosts = new List <BlogArticle>();
         Dictionary <string, string> TermName;
         if (type == "" || type == "All")
         {
             //查询全部博文
             foreach (var item in Posts)
             {
                 TermName = new Dictionary <string, string>();
                 var Termdata = from a in TermRelationships
                                join b in Terms
                                on a.TermTaxonomyId equals b.TermId
                                where a.ObjectId == item.Id
                                select b;
                 foreach (var j in Termdata)
                 {
                     TermName.Add(j.Name, j.Slug);
                 }
                 //赋值给视图模型类
                 BlogArticle blogArticle = new BlogArticle()
                 {
                     BlogInfo  = Article.BlogInfo(item.PostContent, 200),
                     ClassName = TermName,
                     DTime     = item.PostDate.ToShortDateString(),
                     Link      = item.Id,
                     Img       = "images/text02.jpg",
                     Title     = item.PostTitle,
                     ViewNum   = 0
                 };
                 ejbPosts.Add(blogArticle);
             }
         }
         else
         {
             //根据Type查询博文
             var Blogs = from a in TermRelationships
                         from b in Terms
                         join c in Posts
                         on a.ObjectId equals c.Id
                         where b.Slug == type && a.TermTaxonomyId == b.TermId
                         select c;
             foreach (var item in Blogs)
             {
                 var Termdata = from a in TermRelationships
                                join b in Terms
                                on a.TermTaxonomyId equals b.TermId
                                where a.ObjectId == item.Id
                                select b;
                 TermName = new Dictionary <string, string>();
                 foreach (var j in Termdata)
                 {
                     TermName.Add(j.Name, j.Slug);
                 }
                 //赋值给视图模型类
                 BlogArticle blogArticle = new BlogArticle()
                 {
                     BlogInfo  = Article.BlogInfo(item.PostContent, 200),
                     ClassName = TermName,
                     DTime     = item.PostDate.ToShortDateString(),
                     Link      = item.Id,
                     Img       = "images/text02.jpg",
                     Title     = item.PostTitle,
                     ViewNum   = 0
                 };
                 ejbPosts.Add(blogArticle);
             }
         }
         if (ejbPosts.Count() > 0)
         {
             return(Json(new { status = "ok", message = "", datas = ejbPosts }));
         }
         else
         {
             return(Json(new { status = "no", message = "", datas = ejbPosts }));
         }
     }
 }