コード例 #1
0
        public ActionResult Article(int id = 0, int commentId = -1)
        {
            if (id < 1)
            {
                return(HttpNotFound());
            }

            var article = repo.GetItem(id);

            if (article == null)
            {
                return(HttpNotFound());
            }
            var viewArticle = new ArticleForView(article);



            if (User.Identity.IsAuthenticated)
            {
                if (commentId >= 0)
                {
                    var count = notificationRepo.ViewByContext(User.Identity.GetUserId <int>(), commentId, id);
                    if (count > 0)
                    {
                        notifiCountCache.Update(User.Identity.GetUserId <int>(), -count);
                    }
                    viewArticle.CommentId = commentId;
                }
                else
                {
                    viewArticle.CommentId = 0;
                }
                viewArticle.CurUserName = User.Identity.Name.Split('@')[0];
                if (article.UserId == User.Identity.GetUserId <int>())
                {
                    viewArticle.Editable = true;
                }
                viewArticle.CurUserId = User.Identity.GetUserId <int>();
                var userImage = userRepo.GetUserImage(viewArticle.CurUserId);
                if (userImage == "Default")
                {
                    viewArticle.CurUserImage = "profile.png";
                }
                else
                {
                    viewArticle.CurUserImage = viewArticle.CurUserId + "/" + userImage;
                }
            }
            else
            {
                viewArticle.CurUserImage = "";
                viewArticle.CurUserName  = "";
                viewArticle.CurUserId    = 0;
            }
            ViewBag.MaxCommentLength = int.Parse(ConfigurationManager.AppSettings["MaxCommentLength"]);
            return(View(viewArticle));
        }
コード例 #2
0
 public ActionResult Article(int id = 0)
 {
     if (id > 0)
     {
         var article     = repo.GetItem(id);
         var viewArticle = new ArticleForView(article);
         if (article.UserId == User.Identity.GetUserId <int>())
         {
             viewArticle.Editable = true;
         }
         return(View(viewArticle));
     }
     return(HttpNotFound());
 }
コード例 #3
0
ファイル: NewsController.cs プロジェクト: VadimChumak/dip_rob
        public ActionResult Article(int id = 0, int notifiId = 0)
        {
            if (id < 1)
            {
                return(HttpNotFound());
            }

            if (notifiId > 0)
            {
                if (notificationRepo.View(User.Identity.GetUserId <int>(), notifiId))
                {
                    notifiCountCache.Update(User.Identity.GetUserId <int>(), -1);
                }
            }
            var article = repo.GetItem(id);

            Models.UrlHelper.validateURL(article);
            if (article == null)
            {
                return(HttpNotFound());
            }
            var viewArticle = new ArticleForView(article);

            if (User.Identity.IsAuthenticated)
            {
                if (article.UserId == User.Identity.GetUserId <int>())
                {
                    viewArticle.Editable = true;
                }
                viewArticle.UserId = User.Identity.GetUserId <int>();
            }
            else
            {
                viewArticle.UserId = 0;
            }
            ViewBag.MaxCommentLength = int.Parse(ConfigurationManager.AppSettings["MaxCommentLength"]);
            return(View(viewArticle));
        }