예제 #1
0
        public override DeleteNearCommentResponseBody ExecuteCore()
        {
            DeleteNearCommentResponseBody res = new DeleteNearCommentResponseBody()
            {
                Status = ResultStatus.Failed
            };

            using (HWLEntities db = new HWLEntities())
            {
                t_near_circle_comment model = db.t_near_circle_comment.Where(l => l.id == this.request.CommentId).FirstOrDefault();
                if (model != null)
                {
                    db.t_near_circle_comment.Remove(model);
                    var circleModel = db.t_near_circle.Where(c => c.id == model.near_circle_id).FirstOrDefault();
                    if (circleModel != null)
                    {
                        bool isChanged = string.IsNullOrEmpty(this.request.NearCircleUpdateTime) || this.request.NearCircleUpdateTime != GenericUtility.FormatDate2(circleModel.update_time);
                        circleModel.update_time = DateTime.Now;

                        db.SaveChanges();
                        if (!isChanged)
                        {
                            res.NearCircleLastUpdateTime = GenericUtility.FormatDate2(circleModel.update_time);
                        }
                    }
                    else
                    {
                        db.SaveChanges();
                    }
                }
            }

            res.Status = ResultStatus.Success;
            return(res);
        }
예제 #2
0
        public override AddNearCommentResponseBody ExecuteCore()
        {
            AddNearCommentResponseBody res = new AddNearCommentResponseBody();

            using (HWLEntities db = new HWLEntities())
            {
                var circleModel = db.t_near_circle.Where(c => c.id == this.request.NearCircleId).FirstOrDefault();
                if (circleModel == null)
                {
                    throw new Exception("你评论的信息已经被用户删除");
                }

                bool isChanged = string.IsNullOrEmpty(this.request.NearCircleUpdateTime) || this.request.NearCircleUpdateTime != GenericUtility.FormatDate2(circleModel.update_time);

                t_near_circle_comment model = new t_near_circle_comment()
                {
                    comment_user_id = this.request.CommentUserId,
                    content_info    = this.request.Content,
                    near_circle_id  = this.request.NearCircleId,
                    reply_user_id   = this.request.ReplyUserId,
                    id           = 0,
                    comment_time = DateTime.Now,
                };
                db.t_near_circle_comment.Add(model);
                circleModel.comment_count = circleModel.comment_count + 1;
                circleModel.update_time   = DateTime.Now;
                db.SaveChanges();

                var userList = db.t_user.Where(i => i.id == model.comment_user_id || i.id == model.reply_user_id).Select(i => new { i.id, i.name, i.symbol, i.head_image }).ToList();
                NearCircleCommentInfo info = new NearCircleCommentInfo()
                {
                    CommentId     = model.id,
                    Content       = model.content_info,
                    CommentTime   = GenericUtility.FormatDate(model.comment_time),
                    CommentUserId = model.comment_user_id,
                    //CommentUserImage = model.com,
                    //CommentUserName = model.content_info,
                    NearCircleId = model.near_circle_id,
                    ReplyUserId  = model.reply_user_id,
                    //ReplyUserImage = model.content_info,
                    //ReplyUserName = model.content_info,
                };
                if (userList != null && userList.Count > 0)
                {
                    if (info.CommentUserId > 0)
                    {
                        var comUser = userList.Where(u => u.id == info.CommentUserId).FirstOrDefault();
                        info.CommentUserName  = UserUtility.GetShowName(comUser.name, comUser.symbol);
                        info.CommentUserImage = comUser.head_image;
                    }

                    if (info.ReplyUserId > 0)
                    {
                        var repUser = userList.Where(u => u.id == info.ReplyUserId).FirstOrDefault();
                        info.ReplyUserName  = UserUtility.GetShowName(repUser.name, repUser.symbol);
                        info.ReplyUserImage = repUser.head_image;
                    }
                }

                res.NearCirclePublishUserId = circleModel.user_id;
                res.NearCircleCommentInfo   = info;
                if (!isChanged)
                {
                    res.NearCircleLastUpdateTime = GenericUtility.FormatDate2(circleModel.update_time);
                }
            }

            return(res);
        }