public void SeedBlogs() { var bob = new Blog { Title = "Bog's blog", Description = "This is bob's blog", AuthorId = "Bob", AuthorEmail = "bob@us", AuthorName = "Mr. Bob" }; var sam = new Blog { Title = "Sam's blog", Description = "This is sam's blog", AuthorId = "Sam", AuthorEmail = "sam@us", AuthorName = "Mr. Sam" }; using (var db = new BlogiFireContext()) { if (db.Blogs.Where(b => b.AuthorId == "Bob").FirstOrDefault() == null) { var b1 = db.Blogs.Add(bob); db.SaveChanges(); SeedPosts(b1); } if (db.Blogs.Where(b => b.AuthorId == "Sam").FirstOrDefault() == null) { var b2 = db.Blogs.Add(sam); db.SaveChanges(); SeedPosts(b2); } } }
public async Task <List <Post> > GetBlogPosts(string author) { using (var context = new BlogiFireContext()) { var blogId = context.Blogs.Where(b => b.AuthorId == author).FirstOrDefault().Id; return(await context.Posts.Where(p => p.BlogId == blogId).ToListAsync()); } }
public async Task <List <Comment> > GetPostComments(string slug) { using (var context = new BlogiFireContext()) { var postId = context.Posts.Where(p => p.Slug == slug).FirstOrDefault().Id; return(await context.Comments.Where(c => c.PostId == postId).ToListAsync()); } }
public async Task Add(Post item) { using (var context = new BlogiFireContext()) { await context.Posts.AddAsync(item); await context.SaveChangesAsync(); } }
public async Task Delete(int id) { using (var context = new BlogiFireContext()) { var item = await context.Posts.FirstOrDefaultAsync(i => i.Id == id); context.Posts.Remove(item); await context.SaveChangesAsync(); } }
public async Task Add(Comment item) { using (var context = new BlogiFireContext()) { await context.Comments.AddAsync(item); // update comment count if (item.PostId > 0) { var post = context.Posts.Where(p => p.Id == item.PostId).FirstOrDefault(); post.Comments++; await context.Posts.UpdateAsync(post); } await context.SaveChangesAsync(); } }
public async Task Update(Post item) { using (var context = new BlogiFireContext()) { var itemToUpdate = await context.Posts.FirstOrDefaultAsync(i => i.Id == item.Id); itemToUpdate.Saved = DateTime.UtcNow; itemToUpdate.Title = item.Title; itemToUpdate.Content = item.Content; itemToUpdate.Tags = item.Tags; itemToUpdate.Published = item.Published; await context.Posts.UpdateAsync(itemToUpdate); await context.SaveChangesAsync(); } }
public async Task Delete(int id) { using (var context = new BlogiFireContext()) { var item = await context.Comments.FirstOrDefaultAsync(i => i.Id == id); context.Comments.Remove(item); // update comment count if (item.PostId > 0) { var post = context.Posts.Where(p => p.Id == item.PostId).FirstOrDefault(); post.Comments--; await context.Posts.UpdateAsync(post); } await context.SaveChangesAsync(); } }
public async Task Update(Comment item) { using (var context = new BlogiFireContext()) { var itemToUpdate = await context.Comments.FirstOrDefaultAsync(i => i.Id == item.Id); itemToUpdate.Author = item.Author; itemToUpdate.Content = item.Content; itemToUpdate.Ip = item.Ip; itemToUpdate.Website = item.Website; itemToUpdate.UserAgent = item.UserAgent; itemToUpdate.Published = item.Published; itemToUpdate.IsApproved = item.IsApproved; await context.Comments.UpdateAsync(itemToUpdate); await context.SaveChangesAsync(); } }
public void SeedPosts(Blog blog) { using (var db = new BlogiFireContext()) { for (int i = 1; i <= 25; i++) { var post = new Post(); var blogContent = GetContent(); post.BlogId = blog.Id; post.AuthorName = blog.AuthorName; post.Title = string.Format("Post title{0} from {1}", i, blog.AuthorId); post.Slug = string.Format("post-title{0}-{1}", i, blog.AuthorId); post.Content = string.Format("This is content of the post {0} written by {1}. {2}", i, blog.AuthorName, blogContent); post.Published = DateTime.UtcNow.AddHours((i - 26) * 5 * blog.Id); post.Saved = post.Published; db.Posts.Add(post); db.SaveChanges(); // add comments to every third post if (i % 3 == 0) { var comments = GetComments(); foreach (var com in comments) { var c = new Comment { Author = "visitor" + i.ToString(), Email = "visitor" + i.ToString() + "@us.com", Content = com, PostId = post.Id, IsApproved = true, Published = DateTime.UtcNow.AddHours((i - 15) * 5 * blog.Id) }; db.Comments.Add(c); post.Comments++; } db.SaveChanges(); } } } }
public PostRepository() { _db = new BlogiFireContext(); }
public CommentRepository() { _db = new BlogiFireContext(); }