示例#1
0
        public ActionResult Delete(int ID, int Type)
        {
            var BlogModel = new BlogViewModels();

            if (Type == 0)
            {
                var Emergency = db.Emergency.Where(r => r.School.Equals(SchoolID)).Where(r => r.ID == ID).FirstOrDefault();
                if (Emergency != null)
                {
                    Emergency.Delete = 1;
                }
            }
            else if (Type == 1)
            {
                var News = db.NewsClass.Where(r => r.School.Equals(SchoolID)).Where(r => r.ID == ID).FirstOrDefault();
                if (News != null)
                {
                    News.Delete = 1;
                }
            }
            else if (Type == 2)
            {
                var Post = db.Post.Where(r => r.School.Equals(SchoolID)).Where(r => r.ID == ID).FirstOrDefault();
                if (Post != null)
                {
                    Post.Delete = 1;
                }
            }
            db.SaveChanges();
            return(RedirectToAction("TAIndex"));
        }
示例#2
0
        public BlogViewModels getBlogDetails(int id)
        {
            BlogArticle blogArticle = iblog.QueryWhere(p => p.bID == id).FirstOrDefault();
            BlogArticle preBlog     = iblog.QueryWhere(p => p.bID == id - 1).FirstOrDefault();
            BlogArticle nextBolg    = iblog.QueryWhere(p => p.bID == id + 1).FirstOrDefault();

            blogArticle.btraffic++;
            iblog.Edit(blogArticle, new string[] { "btraffic" });
            iblog.SaveChanges();
            //AutoMapper自动映射
            Mapper.Initialize(p => p.CreateMap <BlogArticle, BlogViewModels>());
            BlogViewModels models = Mapper.Map <BlogArticle, BlogViewModels>(blogArticle);

            if (nextBolg != null)
            {
                models.next   = nextBolg.btitle;
                models.nextID = nextBolg.bID;
            }
            if (preBlog != null)
            {
                models.previous   = preBlog.btitle;
                models.previousID = preBlog.bID;
            }
            models.digest = blogArticle.bcontent.Length > 100 ? blogArticle.bcontent.Substring(0, 100) : blogArticle.bcontent;
            return(models);
        }
示例#3
0
        public ActionResult Edit(int ID, int Type)
        {
            var BlogModel = new BlogViewModels();

            if (Type == 0)
            {
                var Emergency = db.Emergency.Where(r => r.School.Equals(SchoolID)).Where(r => r.ID == ID).FirstOrDefault();
                if (Emergency != null)
                {
                    BlogModel.Emergency = Emergency;
                }
                return(View(BlogModel));
            }
            else if (Type == 1)
            {
                var News = db.NewsClass.Where(r => r.School.Equals(SchoolID)).Where(r => r.ID == ID).FirstOrDefault();
                if (News != null)
                {
                    BlogModel.NewsList.Add(News);
                }
                return(View(BlogModel));
            }
            else if (Type == 2)
            {
                var Post = db.Post.Where(r => r.School.Equals(SchoolID)).Where(r => r.ID == ID).FirstOrDefault();
                if (Post != null)
                {
                    BlogModel.PostList.Add(Post);
                }
                return(View(BlogModel));
            }

            return(View());
        }
        /// <summary>
        /// 获取视图博客详情信息(一般版本)
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> getBlogDetails(int id)
        {
            var bloglist = await dal.Query(a => a.Id > 0, a => a.Id);

            var            blogArticle = (await dal.Query(a => a.Id == id)).FirstOrDefault();
            BlogViewModels models      = null;

            if (blogArticle != null)
            {
                BlogArticle prevblog;
                BlogArticle nextblog;
                int         blogIndex = bloglist.FindIndex(item => item.Id == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        // 上一篇
                        prevblog = blogIndex > 0 ? (((BlogArticle)(bloglist[blogIndex - 1]))) : null;
                        // 下一篇
                        nextblog = blogIndex + 1 < bloglist.Count() ? (BlogArticle)(bloglist[blogIndex + 1]) : null;

                        // 注意就是这里,mapper
                        models = IMapper.Map <BlogViewModels>(blogArticle);

                        #region 旧代码
                        //models = new BlogViewModels()
                        //{
                        //    Submitter = blogArticle.Submitter,
                        //    Title = blogArticle.Title,
                        //    Category = blogArticle.Category,
                        //    Content = blogArticle.Content,
                        //    Traffic = blogArticle.Traffic,
                        //    CommentNum = blogArticle.CommentNum,
                        //    ModifyTime = blogArticle.ModifyTime,
                        //    CreateTime = blogArticle.CreateTime,
                        //    Remark = blogArticle.Remark,
                        //};
                        #endregion

                        if (nextblog != null)
                        {
                            models.Next   = nextblog.Title;
                            models.NextId = nextblog.Id;
                        }
                        if (prevblog != null)
                        {
                            models.Previous   = prevblog.Title;
                            models.PreviousId = prevblog.Id;
                        }
                    }
                    catch (Exception) { }
                }
                blogArticle.Traffic += 1;
                await dal.Update(blogArticle, new List <string> {
                    "Traffic"
                });
            }

            return(models);
        }
示例#5
0
        // GET: Ntust
        public ActionResult Index()
        {
            BlogViewModels blogs = new BlogViewModels();

            blogs.PostList  = db.Post.Where(r => r.School.Equals(SchoolID)).Where(r => r.Delete == 0).Where(r => r.Publish == 1).ToList();
            blogs.NewsList  = db.NewsClass.Where(r => r.School.Equals(SchoolID)).Where(r => r.Delete == 0).Where(r => r.Publish == 1).ToList();
            blogs.Emergency = db.Emergency.Where(r => r.School.Equals(SchoolID))
                              .Where(r => r.Delete == 0).FirstOrDefault();
            blogs.PostNum = blogs.PostList.Count;
            blogs.NewsNum = blogs.NewsList.Count;
            return(View(blogs));
        }
示例#6
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> GetBlogDetails(int id)
        {
            // 此处想获取上一条下一条数据,因此将全部数据list出来,有好的想法请提出
            var bloglist = await base.Query(a => a.IsDeleted == false, a => a.bID);

            var blogArticle = (await base.Query(a => a.bID == id)).FirstOrDefault();

            BlogViewModels models = null;

            if (blogArticle != null)
            {
                BlogArticle prevblog;
                BlogArticle nextblog;


                int blogIndex = bloglist.FindIndex(item => item.bID == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        prevblog = blogIndex > 0 ? bloglist[blogIndex - 1] : null;
                        nextblog = blogIndex + 1 < bloglist.Count() ? bloglist[blogIndex + 1] : null;


                        // 注意就是这里,mapper
                        models = _mapper.Map <BlogViewModels>(blogArticle);

                        if (nextblog != null)
                        {
                            models.next   = nextblog.btitle;
                            models.nextID = nextblog.bID;
                        }

                        if (prevblog != null)
                        {
                            models.previous   = prevblog.btitle;
                            models.previousID = prevblog.bID;
                        }
                        var entity2Viewmodel = _mapper.Map <BlogArticle>(models);
                    }
                    catch (Exception ex) { throw new Exception(ex.Message); }
                }


                blogArticle.btraffic += 1;
                await base.Update(blogArticle, new List <string> {
                    "btraffic"
                });
            }

            return(models);
        }
示例#7
0
        public async Task <BlogViewModels> GetBlogDetails(int id)
        {
            var bloglist = await base.Query(a => a.ArticleId > 0, a => a.ArticleId);

            var            blogArticle = (await base.Query(a => a.ArticleId == id)).FirstOrDefault();
            BlogViewModels models      = null;

            if (blogArticle != null)
            {
                BlogArticle prevblog;
                BlogArticle nextblog;


                int blogIndex = bloglist.FindIndex(item => item.ArticleId == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        prevblog = blogIndex > 0 ? (((BlogArticle)(bloglist[blogIndex - 1]))) : null;
                        nextblog = blogIndex + 1 < bloglist.Count() ? (BlogArticle)(bloglist[blogIndex + 1]) : null;


                        // 注意就是这里,mapper
                        models = _mapper.Map <BlogViewModels>(blogArticle);

                        if (nextblog != null)
                        {
                            models.next         = nextblog.ArticleTitle;
                            models.nextID       = nextblog.ArticleId;
                            models.nextcoverimg = nextblog.ArticleCoverImage;
                        }

                        if (prevblog != null)
                        {
                            models.previous    = prevblog.ArticleTitle;
                            models.previousID  = prevblog.ArticleId;
                            models.precoverimg = prevblog.ArticleCoverImage;
                        }
                    }
                    catch (Exception) { }
                }


                blogArticle.ArticleVisitNumber += 1;
                await base.Update(blogArticle, new List <string> {
                    "ArticleVisitNumber"
                });
            }

            return(models);
        }
示例#8
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> getBlogDetails(int id)
        {
            var bloglist = await dal.Query(a => a.bID > 0, a => a.bID);

            var blogArticle = (await dal.Query(a => a.bID == id)).FirstOrDefault();

            BlogViewModels models = null;

            if (blogArticle != null)
            {
                BlogArticle prevblog;
                BlogArticle nextblog;


                int blogIndex = bloglist.FindIndex(item => item.bID == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        prevblog = blogIndex > 0 ? (((BlogArticle)(bloglist[blogIndex - 1]))) : null;
                        nextblog = blogIndex + 1 < bloglist.Count() ? (BlogArticle)(bloglist[blogIndex + 1]) : null;


                        // 注意就是这里,mapper
                        models = IMapper.Map <BlogViewModels>(blogArticle);

                        if (nextblog != null)
                        {
                            models.next   = nextblog.btitle;
                            models.nextID = nextblog.bID;
                        }

                        if (prevblog != null)
                        {
                            models.previous   = prevblog.btitle;
                            models.previousID = prevblog.bID;
                        }
                    }
                    catch (Exception) { }
                }


                blogArticle.btraffic += 1;
                await dal.Update(blogArticle, new List <string> {
                    "btraffic"
                });
            }

            return(models);
        }
示例#9
0
        /// <summary>
        /// 获取视图博客详细信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> GetBlogDetails(int id)
        {
            var blogList = await base.Query(a => a.IsDeleted == false, a => a.BId);

            var blogArticle = (await base.Query(a => a.BId == id)).FirstOrDefault();

            BlogViewModels models = null;

            if (blogArticle != null)
            {
                BlogArticle prevBlog;
                BlogArticle nextBlog;

                int blogIndex = blogList.FindIndex(index => index.BId == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        prevBlog = blogIndex > 0 ? blogList[blogIndex - 1] : null;
                        nextBlog = blogIndex + 1 < blogList.Count() ? blogList[blogIndex + 1] : null;

                        models = m_Mapper.Map <BlogViewModels>(blogArticle);

                        if (nextBlog != null)
                        {
                            models.Next   = nextBlog.BTitle;
                            models.NextId = nextBlog.BId;
                        }

                        if (prevBlog != null)
                        {
                            models.Previous   = prevBlog.BTitle;
                            models.PreviousId = prevBlog.BId;
                        }

                        var entity2ViewModel = m_Mapper.Map <BlogArticle>(models);
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }

                blogArticle.BTraffic += 1;
                //await base.Update(blogArticle, new List<string> { "BTraffic" });
            }

            return(models);
        }
示例#10
0
        /// <summary>
        /// 获取视图博客详情信息(一般版本)
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> GetBlogDetails(int id)
        {
            // 此处想获取上一条下一条数据,因此将全部数据list出来,有好的想法请提出
            var bloglist = await base.Query(a => a.bID > 0, a => a.bID);

            var            blogArticle = (await _dal.Query(a => a.bID == id)).FirstOrDefault();
            BlogViewModels models      = null;

            if (blogArticle != null)
            {
                BlogArticle prevblog;
                BlogArticle nextblog;
                int         blogIndex = bloglist.FindIndex(item => item.bID == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        //上一篇
                        prevblog = blogIndex > 0 ? bloglist[blogIndex - 1] : null;
                        //下一篇
                        nextblog = blogIndex + 1 < bloglist.Count() ? bloglist[blogIndex + 1] : null;
                        models   = _mapper.Map <BlogViewModels>(blogArticle);
                        if (nextblog != null)
                        {
                            models.next   = nextblog.btitle;
                            models.nextID = nextblog.bID;
                        }
                        if (prevblog != null)
                        {
                            models.previous   = prevblog.btitle;
                            models.previousID = prevblog.bID;
                        }
                    }
                    catch (Exception) { }
                }
                blogArticle.btraffic += 1;
                await _dal.Update(blogArticle, new List <string> {
                    "btraffic"
                });
            }
            return(models);
        }
示例#11
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> GetBlogDetails(int id)
        {
            // 此处想获取上一条下一条数据,因此将全部数据list出来,有好的想法请提出
            //var bloglist = await base.Query(a => a.IsDeleted==false, a => a.bID);
            var blogArticle = (await base.Query(a => a.bID == id && a.bcategory == "技术博文")).FirstOrDefault();

            BlogViewModels models = null;

            if (blogArticle != null)
            {
                models = _mapper.Map <BlogViewModels>(blogArticle);

                //要取下一篇和上一篇,以当前id开始,按id排序后top(2),而不用取出所有记录
                //这样在记录很多的时候也不会有多大影响
                var nextBlogs = await base.Query(a => a.bID >= id && a.IsDeleted == false && a.bcategory == "技术博文", 2, "bID");

                if (nextBlogs.Count == 2)
                {
                    models.next   = nextBlogs[1].btitle;
                    models.nextID = nextBlogs[1].bID;
                }
                var prevBlogs = await base.Query(a => a.bID <= id && a.IsDeleted == false && a.bcategory == "技术博文", 2, "bID desc");

                if (prevBlogs.Count == 2)
                {
                    models.previous   = prevBlogs[1].btitle;
                    models.previousID = prevBlogs[1].bID;
                }

                blogArticle.btraffic += 1;
                await base.Update(blogArticle, new List <string> {
                    "btraffic"
                });
            }

            return(models);
        }
示例#12
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> GetBlogDetails(int id)
        {
            // 此处想获取上一条下一条数据,因此将全部数据list出来,有好的想法请提出
            //var bloglist = await base.Query(a => a.IsDeleted==false, a => a.bID);
            var blogArticle = (await base.Query(a => a.bID == id)).FirstOrDefault();

            BlogViewModels models = null;

            if (blogArticle != null)
            {
                models = _mapper.Map <BlogViewModels>(blogArticle);

                //要取下一篇和上一篇,以当前id开始,按id排序后top(2),而不用取出所有记录
                //这样在记录很多的时候也不会有多大影响
                var nextBlogs = await base.Query(a => a.bID >= id && a.IsDeleted == false, 2, "bID");

                if (nextBlogs.Count == 2)
                {
                    models.next   = nextBlogs[1].btitle;
                    models.nextID = nextBlogs[1].bID;
                }
                var prevBlogs = await base.Query(a => a.bID <= id && a.IsDeleted == false, 2, "bID desc");

                if (prevBlogs.Count == 2)
                {
                    models.previous   = prevBlogs[1].btitle;
                    models.previousID = prevBlogs[1].bID;
                }

                //BlogArticle prevblog;
                //BlogArticle nextblog;


                //int blogIndex = bloglist.FindIndex(item => item.bID == id);
                //if (blogIndex >= 0)
                //{
                //    try
                //    {
                //        prevblog = blogIndex > 0 ? bloglist[blogIndex - 1] : null;
                //        nextblog = blogIndex + 1 < bloglist.Count() ? bloglist[blogIndex + 1] : null;


                //        // 注意就是这里,mapper
                //        models = _mapper.Map<BlogViewModels>(blogArticle);

                //        if (nextblog != null)
                //        {
                //            models.next = nextblog.btitle;
                //            models.nextID = nextblog.bID;
                //        }

                //        if (prevblog != null)
                //        {
                //            models.previous = prevblog.btitle;
                //            models.previousID = prevblog.bID;
                //        }
                //        var entity2Viewmodel = _mapper.Map<BlogArticle>(models);

                //    }
                //    catch (Exception ex) { throw new Exception(ex.Message); }
                //}


                blogArticle.btraffic += 1;
                await base.Update(blogArticle, new List <string> {
                    "btraffic"
                });
            }

            return(models);
        }
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> getBlogDetails(int id)
        {
            var bloglist = await dal.Query(a => a.bID > 0, a => a.bID);

            var idmin = bloglist.FirstOrDefault() != null?bloglist.FirstOrDefault().bID : 0;

            var idmax = bloglist.LastOrDefault() != null?bloglist.LastOrDefault().bID : 1;

            var idminshow = id;
            var idmaxshow = id;

            BlogArticle blogArticle = new BlogArticle();

            blogArticle = (await dal.Query(a => a.bID == idminshow)).FirstOrDefault();

            BlogArticle prevblog = new BlogArticle();


            while (idminshow > idmin)
            {
                idminshow--;
                prevblog = (await dal.Query(a => a.bID == idminshow)).FirstOrDefault();
                if (prevblog != null)
                {
                    break;
                }
            }

            BlogArticle nextblog = new BlogArticle();

            while (idmaxshow < idmax)
            {
                idmaxshow++;
                nextblog = (await dal.Query(a => a.bID == idmaxshow)).FirstOrDefault();
                if (nextblog != null)
                {
                    break;
                }
            }


            blogArticle.btraffic += 1;
            await dal.Update(blogArticle, new List <string> {
                "btraffic"
            });

            //注意就是这里
            BlogViewModels models = IMapper.Map <BlogViewModels>(blogArticle);

            if (nextblog != null)
            {
                models.next   = nextblog.btitle;
                models.nextID = nextblog.bID;
            }

            if (prevblog != null)
            {
                models.previous   = prevblog.btitle;
                models.previousID = prevblog.bID;
            }
            return(models);
        }
示例#14
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> getBlogDetails(int id)
        {
            //不用automapper的写法
            //var bloglist = await dal.Query(a => a.bID > 0, a => a.bID);
            //var idmin = bloglist.FirstOrDefault() != null ? bloglist.FirstOrDefault().bID : 0;
            //var idmax = bloglist.LastOrDefault() != null ? bloglist.LastOrDefault().bID : 1;
            //var idminshow = id;
            //var idmaxshow = id;

            //BlogArticle blogArticle = new BlogArticle();

            //blogArticle = (await dal.Query(a => a.bID == idminshow)).FirstOrDefault();

            //BlogArticle prevblog = new BlogArticle();


            //while (idminshow > idmin)
            //{
            //    idminshow--;
            //    prevblog = (await dal.Query(a => a.bID == idminshow)).FirstOrDefault();
            //    if (prevblog != null)
            //    {
            //        break;
            //    }
            //}

            //BlogArticle nextblog = new BlogArticle();
            //while (idmaxshow < idmax)
            //{
            //    idmaxshow++;
            //    nextblog = (await dal.Query(a => a.bID == idmaxshow)).FirstOrDefault();
            //    if (nextblog != null)
            //    {
            //        break;
            //    }
            //}


            //blogArticle.btraffic += 1;
            //await dal.Update(blogArticle, new List<string> { "btraffic" });

            //BlogViewModels models = new BlogViewModels()
            //{
            //    bsubmitter = blogArticle.bsubmitter,
            //    btitle = blogArticle.btitle,
            //    bcategory = blogArticle.bcategory,
            //    bcontent = blogArticle.bcontent,
            //    btraffic = blogArticle.btraffic,
            //    bcommentNum = blogArticle.bcommentNum,
            //    bUpdateTime = blogArticle.bUpdateTime,
            //    bCreateTime = blogArticle.bCreateTime,
            //    bRemark = blogArticle.bRemark,
            //};

            //if (nextblog != null)
            //{
            //    models.next = nextblog.btitle;
            //    models.nextID = nextblog.bID;
            //}

            //if (prevblog != null)
            //{
            //    models.previous = prevblog.btitle;
            //    models.previousID = prevblog.bID;
            //}
            //return models;

            //使用automapper的写法
            var bloglist = await dal.Query(a => a.bID > 0, a => a.bID);

            var            blogArticle = (await dal.Query(a => a.bID == id)).FirstOrDefault();
            BlogViewModels models      = null;

            if (blogArticle != null)
            {
                BlogArticle prevblog;
                BlogArticle nextblog;
                int         blogIndex = bloglist.FindIndex(item => item.bID == id);
                if (blogIndex >= 0)
                {
                    try
                    {
                        // 上一篇
                        prevblog = blogIndex > 0 ? (((BlogArticle)(bloglist[blogIndex - 1]))) : null;
                        // 下一篇
                        nextblog = blogIndex + 1 < bloglist.Count() ? (BlogArticle)(bloglist[blogIndex + 1]) : null;

                        // 注意就是这里,mapper
                        models = _mapper.Map <BlogViewModels>(blogArticle);

                        if (nextblog != null)
                        {
                            models.next   = nextblog.btitle;
                            models.nextID = nextblog.bID;
                        }
                        if (prevblog != null)
                        {
                            models.previous   = prevblog.btitle;
                            models.previousID = prevblog.bID;
                        }
                    }
                    catch (Exception) { }
                }
                blogArticle.btraffic += 1;
                await dal.Update(blogArticle, new List <string> {
                    "btraffic"
                });
            }

            return(models);
        }
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public BlogViewModels getBlogDetails(int id)
        {
            var bloglist = dal.QueryWhere(a => a.bID > 0).OrderBy(d => d.bID).ToList();
            var idmin    = bloglist.FirstOrDefault() != null?bloglist.FirstOrDefault().bID : 0;

            var idmax = bloglist.LastOrDefault() != null?bloglist.LastOrDefault().bID : 1;

            var idminshow = id;
            var idmaxshow = id;

            BlogArticle blogArticle = new BlogArticle();

            blogArticle = dal.QueryWhere(a => a.bID == idminshow).FirstOrDefault();

            BlogArticle prevblog = new BlogArticle();


            while (idminshow > idmin)
            {
                idminshow--;
                prevblog = dal.QueryWhere(a => a.bID == idminshow).FirstOrDefault();
                if (prevblog != null)
                {
                    break;
                }
            }

            BlogArticle nextblog = new BlogArticle();

            while (idmaxshow < idmax)
            {
                idmaxshow++;
                nextblog = dal.QueryWhere(a => a.bID == idmaxshow).FirstOrDefault();
                if (nextblog != null)
                {
                    break;
                }
            }


            blogArticle.btraffic += 1;
            dal.Edit(blogArticle, new string[] { "btraffic" });
            dal.SaverChanges();
            //AutoMapper自动映射
            Mapper.Initialize(cfg => cfg.CreateMap <BlogArticle, BlogViewModels>());
            BlogViewModels models = Mapper.Map <BlogArticle, BlogViewModels>(blogArticle);

            if (nextblog != null)
            {
                models.next   = nextblog.btitle;
                models.nextID = nextblog.bID;
            }

            if (prevblog != null)
            {
                models.previous   = prevblog.btitle;
                models.previousID = prevblog.bID;
            }
            models.digest = Tools.ReplaceHtmlTag(blogArticle.bcontent).Length > 100 ? Tools.ReplaceHtmlTag(blogArticle.bcontent).Substring(0, 200) : Tools.ReplaceHtmlTag(blogArticle.bcontent);
            return(models);
        }
示例#16
0
        /// <summary>
        /// 获取视图博客详情信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <BlogViewModels> GetBlogDetailsAsync(int id)
        {
            var bloglist = await _blogArticleRepository.Query(a => a.bID > 0, a => a.bID);

            var idmin = bloglist.FirstOrDefault() != null?bloglist.FirstOrDefault().bID : 0;

            var idmax = bloglist.LastOrDefault() != null?bloglist.LastOrDefault().bID : 1;

            var idminshow = id;
            var idmaxshow = id;

            BlogArticle blogArticle = new BlogArticle();

            blogArticle = (await _blogArticleRepository.Query(a => a.bID == idminshow)).FirstOrDefault();

            BlogArticle prevblog = new BlogArticle();


            while (idminshow > idmin)
            {
                idminshow--;
                prevblog = (await _blogArticleRepository.Query(a => a.bID == idminshow)).FirstOrDefault();
                if (prevblog != null)
                {
                    break;
                }
            }

            BlogArticle nextblog = new BlogArticle();

            while (idmaxshow < idmax)
            {
                idmaxshow++;
                nextblog = (await _blogArticleRepository.Query(a => a.bID == idmaxshow)).FirstOrDefault();
                if (nextblog != null)
                {
                    break;
                }
            }


            blogArticle.btraffic += 1;
            await _blogArticleRepository.Update(blogArticle, new List <string> {
                "btraffic"
            }, null, " bID == " + blogArticle.bID.ToString());

            BlogViewModels models = new BlogViewModels()
            {
                bsubmitter  = blogArticle.bsubmitter,
                btitle      = blogArticle.btitle,
                bcategory   = blogArticle.bcategory,
                bcontent    = blogArticle.bcontent,
                btraffic    = blogArticle.btraffic,
                bcommentNum = blogArticle.bcommentNum,
                bUpdateTime = blogArticle.bUpdateTime,
                bCreateTime = blogArticle.bCreateTime,
                bRemark     = blogArticle.bRemark,
            };

            if (nextblog != null)
            {
                models.next   = nextblog.btitle;
                models.nextID = nextblog.bID;
            }

            if (prevblog != null)
            {
                models.previous   = prevblog.btitle;
                models.previousID = prevblog.bID;
            }
            return(models);
        }