internal Blog(DB.Tables.Blog model) { if (model is null) { throw new NullReferenceException(); } Id = model.Id; _blog = model; }
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); }