public IActionResult Edit(int sitePageCommentId)
        {
            var dbModel = this.sitePageCommentRepository.Get(sitePageCommentId);

            var model = new SitePageCommentModel()
            {
                Comment           = dbModel.Comment,
                CommentStatus     = dbModel.CommentStatus,
                CreateDate        = dbModel.CreateDate,
                Email             = dbModel.Email,
                Name              = dbModel.Name,
                RequestId         = dbModel.RequestId,
                SitePageCommentId = dbModel.SitePageCommentId,
                SitePageId        = dbModel.SitePageId,
                Website           = dbModel.WebSite
            };

            return(this.View(model));
        }
示例#2
0
        public IActionResult Comment(SitePageCommentModel model)
        {
            var existingComment = this.sitePageCommentRepository.Get(model.RequestId);

            if (existingComment != null)
            {
                return(this.View("Commented"));
            }

            if (!this.ModelState.IsValid)
            {
                return(this.View("CommentError"));
            }

            if (!SiteUtilityHelper.IsCaptchaValid(this.Request.Form))
            {
                return(this.View("CommentError"));
            }

            var ipAddress = this.accessor.HttpContext.Connection.RemoteIpAddress.ToString();

            if (this.spamFilterService.IsBlocked(ipAddress))
            {
                return(this.BadRequest());
            }

            this.sitePageCommentRepository.Create(new SitePageComment()
            {
                Comment       = model.Comment.Trim(),
                Email         = model.Email.Trim(),
                CommentStatus = CommentStatus.AwaitingModeration,
                Name          = model.Name.Trim(),
                RequestId     = model.RequestId,
                IpAddress     = ipAddress,
                SitePageId    = model.SitePageId,
                WebSite       = model.Website?.Trim()
            });

            return(this.View("Commented"));
        }
        public IActionResult Edit(SitePageCommentModel model)
        {
            var dbModel = this.sitePageCommentRepository.Get(model.SitePageCommentId);

            dbModel.Name          = model.Name.Trim();
            dbModel.Comment       = model.Comment.Trim();
            dbModel.Email         = model.Email.Trim();
            dbModel.WebSite       = model.Website?.Trim();
            dbModel.CommentStatus = model.CommentStatus;

            if (model.CommentStatus == Data.Enums.CommentStatus.Spam)
            {
                if (!this.spamFilterService.IsBlocked(dbModel.IpAddress))
                {
                    this.spamFilterService.Create(dbModel.IpAddress);
                }
            }

            this.sitePageCommentRepository.Update(dbModel);

            return(this.RedirectToAction("Index"));
        }