private static async Task<IResult> GetBlogs(ApplicationDbContext db)
{
var blogPosts = await db.Blogs.Include(b => b.Tags).ToListAsync();
return Results.Ok(blogPosts);
}
private static async Task<IResult> GetBlogById(int id, ApplicationDbContext db)
{
var blogPost = await db.Blogs.SingleOrDefaultAsync(b => b.Id == id);
return Results.Ok(blogPost);
}
private static async Task<IResult> CreateBlog(BlogPostDTO dto, ApplicationDbContext db)
{
var tags = await db.Tags.Where(t => dto.TagIds.Contains(t.Id)).ToListAsync();
var project = await db.Projects.Where(p => dto.ProjectId == p.Id).ToListAsync();
var blogPost = new BlogPost
{
Title = dto.Title,
Body = dto.Body,
Summary = dto.Summary,
ProjectId = dto.ProjectId,
Project = project[0],
Tags = tags,
};
db.Blogs.Add(blogPost);
await db.SaveChangesAsync();
return Results.Created($"/blogs/{blogPost.Id}", blogPost);
}
private static async Task<IResult> GetBlogs(ApplicationDbContext db)
{
var blogPosts = await db.Blogs.Include(b => b.Tags).ToListAsync();
return Results.Ok(blogPosts);
}
private static async Task<IResult> GetBlogById(int id, ApplicationDbContext db)
{
var blogPost = await db.Blogs.SingleOrDefaultAsync(b => b.Id == id);
return Results.Ok(blogPost);
}
private static async Task<IResult> CreateBlog(BlogPostDTO dto, ApplicationDbContext db)
{
var tags = await db.Tags.Where(t => dto.TagIds.Contains(t.Id)).ToListAsync();
var project = await db.Projects.Where(p => dto.ProjectId == p.Id).ToListAsync();
var blogPost = new BlogPost
{
Title = dto.Title,
Body = dto.Body,
Summary = dto.Summary,
ProjectId = dto.ProjectId,
Project = project[0],
Tags = tags,
};
db.Blogs.Add(blogPost);
await db.SaveChangesAsync();
return Results.Created($"/blogs/{blogPost.Id}", blogPost);
}