public override async Task <ScreamResult <int> > PostScreamAsync(Models.NewScreamtion model)
        {
            const int NOT_DATA = 0;

            if (string.IsNullOrWhiteSpace(model.Content))
            {
                return(QuickResult.Unsuccessful(NOT_DATA, "内容不能为空"));
            }
            if (!await DB.Users.AnyAsync(user => user.Id == model.AuthorId))
            {
                return(QuickResult.Unsuccessful(NOT_DATA, "该作者不存在"));
            }

            var newScream = new ScreamBackend.DB.Tables.Scream
            {
                AuthorId       = model.AuthorId,
                Content        = model.Content,
                ContentLength  = model.Content.Length,
                CreateDateTime = DateTime.Now,
                State          = (int)Scream.Status.WaitAudit
            };
            await DB.Screams.AddAsync(newScream);

            int effects = await DB.SaveChangesAsync();

            if (effects == 1)
            {
                return(QuickResult.Successful(newScream.Id));
            }
            throw new Exception("发布失败");
        }
Esempio n. 2
0
 public abstract Task <ScreamResult <int> > PostScreamAsync(Models.NewScreamtion model);