コード例 #1
0
ファイル: UserController.cs プロジェクト: lhanlhanlhan/xmuer
        public Message PublishStatus([FromQuery] int id, [FromQuery] string method, [FromForm] string content)
        {
            string userIdStr = HttpContext.Session.GetString("userId");

            if (userIdStr == "" || userIdStr == null)
            {
                return(new Message((int)MessageCode.NOT_LOGGED_IN, MessageCode.NOT_LOGGED_IN.GetDescription()));
            }
            int userId = int.Parse(userIdStr);

            // 保存新状态
            if (method == "post")             // 发布
            {
                Entities.Home.Status status = new Entities.Home.Status();
                status.UserID  = userId;
                status.Content = content;
                status.Like    = 0;
                status.State   = 2;
                status.Time    = DateTime.Now;
                Context.Statuses.Add(status);
                Context.SaveChanges();
                Context.Entry(status);
            }
            else
            if (method == "draft")             // 存草稿
            {
                Entities.Home.Status status = new Entities.Home.Status();
                status.UserID  = userId;
                status.Content = content;
                status.Like    = 0;
                status.State   = 1;
                status.Time    = DateTime.Now;
                Context.Statuses.Add(status);
                Context.SaveChanges();
                Context.Entry(status);
            }
            else
            if (method == "edit")             // 编辑状态
            {
                if (HttpContext.Request.Query.ContainsKey("id"))
                {
                    var statusList = from s in Context.Statuses
                                     where
                                     s.ID == id &&
                                     s.UserID == userId && s.State != -1
                                     select s;
                    Status status = statusList.First();
                    if (status != null)
                    {
                        status.Content = content;
                        status.Time    = DateTime.Now;
                        Context.Statuses.Update(status);
                        Context.SaveChanges();
                    }
                }
            }
            return(new Message((int)MessageCode.OK, MessageCode.OK.GetDescription()));
        }
コード例 #2
0
        public IActionResult OnGet([FromQuery] int id)
        {
            string tmp = HttpContext.Session.GetString("userId");

            if (tmp == "" || tmp == null)
            {
                return(Redirect("/SignIn"));
            }
            userId = Convert.ToInt32(tmp);

            if (HttpContext.Request.Query.ContainsKey("new"))
            {
                return(Page());
            }
            else if (HttpContext.Request.Query.ContainsKey("id"))
            {
                var statusList = from s in _db.Statuses
                                 where
                                 s.ID == id &&
                                 s.UserID == userId && s.State != -1
                                 select s;
                Entities.Home.Status status = statusList.First();

                if (status != null)
                {
                    if (HttpContext.Request.Query.ContainsKey("post"))
                    {
                        status.State = 2;
                        _db.Statuses.Update(status);
                        _db.SaveChanges();
                        _db.Entry(status);
                        return(Redirect("/Status/StatusList"));
                    }
                    else if (HttpContext.Request.Query.ContainsKey("delete"))
                    {
                        status.State = -1;
                        _db.Statuses.Update(status);
                        _db.SaveChanges();
                        _db.Entry(status);
                        return(Redirect("/Status/StatusList"));
                    }
                }
            }
            return(Redirect("/Status/StatusList"));
        }
コード例 #3
0
ファイル: Status.cshtml.cs プロジェクト: lhanlhanlhan/xmuer
        public IActionResult OnGet(int shareId)
        {
            // 获取 share
            Entities.Home.Status status = Context.Statuses.Find(shareId);
            if (status == null)
            {
                return(Redirect("/"));
            }
            Share = new Entities.Home.Share();
            Share.ShareContent = status.Content;
            Share.ID           = status.ID;
            Entities.Home.User user = Context.Users.SingleOrDefault(s => s.ID == status.UserID);
            Share.Username     = user.userName;
            Share.UserId       = user.ID;
            Share.Avatar       = user.Avatar;
            Share.like         = status.Like;
            Share.commentCount = Context.Comments.Where(s => s.StatusID == status.ID).Count();
            Share.Time         = status.Time.ToString();

            // 获取评论
            IQueryable <Comment> commentsQuery = from c in Context.Comments
                                                 where c.StatusID == Share.ID
                                                 select c;

            Comments = new List <CommentVo>();
            foreach (var comment in commentsQuery)
            {
                // 获取评论源头用户资讯
                Entities.Home.User commentByUser = Context.Users.Find(comment.UserId);
                if (commentByUser == null)
                {
                    continue;
                }
                CommentVo vo = new CommentVo(comment);
                vo.Username = commentByUser.userName;
                vo.Avatar   = commentByUser.Avatar;
                Comments.Add(vo);
            }

            return(Page());
        }
コード例 #4
0
        public IActionResult OnPost([FromQuery] int id)
        {
            string tmp = HttpContext.Session.GetString("userId");

            if (tmp == "" || tmp == null)
            {
                return(Redirect("/SignIn"));
            }
            userId = Convert.ToInt32(tmp);

            if (HttpContext.Request.Query.ContainsKey("new"))      //�½�״̬
            {
                if (HttpContext.Request.Query.ContainsKey("post")) //����
                {
                    Entities.Home.Status status = new Entities.Home.Status();
                    status.UserID  = int.Parse(HttpContext.Session.GetString("userId"));
                    status.Content = HttpContext.Request.Form["content"];
                    status.Like    = 0;
                    status.State   = 2;
                    status.Time    = DateTime.Now;
                    _db.Statuses.Add(status);
                    _db.SaveChanges();
                    _db.Entry(status);
                }
                if (HttpContext.Request.Query.ContainsKey("draft")) //�ݴ�
                {
                    Entities.Home.Status status = new Entities.Home.Status();
                    status.UserID  = int.Parse(HttpContext.Session.GetString("userId"));
                    status.Content = HttpContext.Request.Form["content"];
                    status.Like    = 0;
                    status.State   = 1;
                    status.Time    = DateTime.Now;
                    _db.Statuses.Add(status);
                    _db.SaveChanges();
                    _db.Entry(status);
                }
            }
            if (HttpContext.Request.Query.ContainsKey("edit")) //�޸�״̬����
            {
                if (HttpContext.Request.Query.ContainsKey("id"))
                {
                    var statusList = from s in _db.Statuses
                                     where
                                     s.ID == id &&
                                     s.UserID == userId && s.State != -1
                                     select s;
                    Entities.Home.Status status = statusList.First();

                    if (status != null)
                    {
                        status.Content = HttpContext.Request.Form["content"];
                        status.Time    = DateTime.Now;
                        _db.Statuses.Update(status);
                        _db.SaveChanges();
                    }

                    return(Content("OK"));
                }
            }
            return(Page());
        }