Exemplo n.º 1
0
        public IActionResult BlogDetail(int id)
        {
            Blog        blog    = blogService.Get(x => x.id == id && x.IsActive);
            SessionUser session = userSessionService.Get("LoginUser");
            string      color   = "#6c757d";

            if (EntityBase.IsNotNull(blog) && EntityBase.IsNotNull(session))
            {
                Like like = likeService.Get(x => x.IsActive == true && x.Userid == session.id && x.Blogid == blog.id);
                if (EntityBase.IsNotNull(like))
                {
                    color = like.IsLike ? "#9494FF" : "#FF8b60";
                }
                BlogViewCounterModel blogViewCounterModel = blogViewCounterCookieService.Get($"BlogView-{blog.id}-{session.id}");
                if (blogViewCounterModel == null)
                {
                    blog.ViewCount++;
                    blogService.Update(blog);
                    blogService.Save();
                    blogViewCounterCookieService.Set($"BlogView-{blog.id}-{session.id}", new BlogViewCounterModel()
                    {
                        Blogid  = blog.id,
                        Userid  = session.id,
                        IsLogin = true
                    }, 60 * 2);
                }
            }
            else
            {
                BlogViewCounterModel blogViewCounterModel = blogViewCounterCookieService.Get($"BlogView-{blog.id}-0");
                if (blogViewCounterModel == null)
                {
                    blog.ViewCount++;
                    blogService.Update(blog);
                    blogService.Save();
                    blogViewCounterCookieService.Set($"BlogView-{blog.id}-0", new BlogViewCounterModel()
                    {
                        Blogid  = blog.id,
                        IsLogin = false
                    }, 60 * 2);
                }
            }
            ViewBag.PointColor = color;
            return(View(blog));
        }
 public void Set(string key, BlogViewCounterModel value, int?expireTime)
 {
     _httpContextAccessor.HttpContext.Response.Cookies.Set(key, value, expireTime);
 }