예제 #1
0
 internal Blog(DB.Tables.Blog model)
 {
     if (model is null)
     {
         throw new NullReferenceException();
     }
     Id    = model.Id;
     _blog = model;
 }
예제 #2
0
        public async Task <int> CreateBlogAsync(Models.NewPost model)
        {
            var targetIds = await Targets.AppendTargetsAsync(model.Targets);

            await using var db = new LOPDbContext();

            DB.Tables.Blog newBlog = new DB.Tables.Blog
            {
                Title      = model.Title,
                Content    = model.Content,
                TargetIds  = string.Join(',', targetIds),
                AuthorId   = model.AuthorId,
                State      = model.IsDraft ? (int)Blog.BlogState.Draft : (int)Blog.BlogState.Enabled,
                CreateDate = DateTime.Now
            };
            db.Blogs.Add(newBlog);
            int changeCount = await db.SaveChangesAsync();

            if (changeCount == 1)
            {
                return(newBlog.Id);
            }
            return(POST_DEFEATED);
        }