Esempio n. 1
0
 async Task IBlogRepository.Save(Domain.Model.Blog blog)
 {
     if (!_db.Blogs.Any(a => a.Id == blog.Id))
     {
         _db.Blogs.Add(blog);
     }
     blog.Posts.ToList().ForEach(a => AddPost(a));
     await _db.SaveChangesAsync();
 }
Esempio n. 2
0
        async Task IBlogRepository.Delete(Domain.Model.Blog blog)
        {
            var found = await _db.Blogs.FirstOrDefaultAsync(a => a.Id == blog.Id);

            if (found == null)
            {
                throw new Exception($"Blog not found (id: {blog.Id}");
            }

            found.Posts.ToList().ForEach(a => _db.Posts.Remove(a));
            _db.Blogs.Remove(found);

            await _db.SaveChangesAsync();
        }
Esempio n. 3
0
 async Task IBlogCommand.Execute(Command.CreateBlog command)
 {
     var blog = new Domain.Model.Blog(Guid.NewGuid());
     await _repository.Save(blog);
 }