コード例 #1
0
ファイル: Hub.cs プロジェクト: ChenDvorak/admin.myfor-end
        /// <summary>
        /// 删除段子
        /// </summary>
        public async Task <Resp> Remove(int id, bool delete = false)
        {
            using var db = new MyForContext();

            DB.Tables.Segment segment = await db.Segments.FirstOrDefaultAsync(s => s.Id == id);

            if (segment is null)
            {
                return(Resp.Fault(Resp.NONE, Segment.NONE_SEGMENT));
            }

            if (delete)
            {
                db.Segments.Remove(segment);
            }
            else
            {
                segment.State = (int)Segment.SegmentState.Remove;
            }

            int suc = await db.SaveChangesAsync();

            if (suc == 1)
            {
                return(Resp.Success(Resp.NONE, "删除成功"));
            }
            return(Resp.Fault(Resp.NONE, "删除失败"));
        }
コード例 #2
0
        public async Task <Resp> GetDetail()
        {
            using var db = new MyForContext();

            DB.Tables.Segment segment = await db.Segments.AsNoTracking()
                                        .FirstOrDefaultAsync(s => s.Id == Id);

            if (segment is null)
            {
                return(Resp.Fault(Resp.NONE, NONE_SEGMENT));
            }

            Results.SegmentDetail detail = new Results.SegmentDetail
            {
                Content    = segment.Content,
                Creator    = Clients.Client.GetName(segment.CreateById),
                CreateDate = segment.CreateDate.ToStandardString(),
                State      = new Share.KeyValue
                {
                    Key   = segment.State,
                    Value = ((SegmentState)segment.State).GetDescription()
                }
            };
            return(Resp.Success(detail, ""));
        }
コード例 #3
0
        public async Task <Resp> DisabledAsync(string description)
        {
            using var db = new MyForContext();

            DB.Tables.Segment segment = await db.Segments.FirstOrDefaultAsync(c => c.Id == Id);

            if (segment is null)
            {
                return(Resp.Fault(Resp.NONE, NONE_SEGMENT));
            }

            segment.State = (int)SegmentState.Disabled;
            int suc = await db.SaveChangesAsync();

            if (suc == 1)
            {
                return(Resp.Success());
            }
            return(Resp.Fault(Resp.NONE, "禁用失败"));
        }
コード例 #4
0
ファイル: Hub.cs プロジェクト: ChenDvorak/admin.myfor-end
        /// <summary>
        /// 发布段子
        /// </summary>
        public async Task <Resp> PublishAsync(string content, string nickName)
        {
            if (string.IsNullOrWhiteSpace(content))
            {
                return(Resp.Fault(Resp.NONE, "内容不能为空"));
            }

            using var db = new MyForContext();

            DB.Tables.Segment newSegment = new DB.Tables.Segment
            {
                NickName = nickName,
                Content  = content,
                State    = (int)Segment.SegmentState.ToAudit
            };
            db.Segments.Add(newSegment);
            int suc = await db.SaveChangesAsync();

            if (suc == 1)
            {
                return(Resp.Success(Resp.NONE, ""));
            }
            return(Resp.Fault(Resp.NONE, ""));
        }
コード例 #5
0
        /// <summary>
        /// 点赞
        /// </summary>
        public async Task <Resp> Liked()
        {
            if (IsEmpty())
            {
                return(Resp.Fault(Resp.NONE, NONE_SEGMENT));
            }

            using var db = new MyForContext();
            DB.Tables.Segment segment = await db.Segments.FirstOrDefaultAsync(c => c.Id == Id);

            if (segment is null)
            {
                return(Resp.Fault(Resp.NONE, NONE_SEGMENT));
            }

            segment.Likes++;
            int suc = await db.SaveChangesAsync();

            if (suc == 1)
            {
                return(Resp.Success());
            }
            return(Resp.Fault(Resp.NONE, "点赞失败"));
        }