public async Task <int> Handle(CreateBookAdminCommand request, CancellationToken cancellationToken) { var entity = new Book { Title = request.Title, Description = request.Description, Image = request.Image, Slug = request.Slug, AuthorId = request.AuthorID }; _context.Books.Add(entity); foreach (var idCateBook in request.CategoriesID) { var categoryBook = new BookCategory { BookId = entity.Id, CategoryId = idCateBook }; _context.BookCategories.Add(categoryBook); } foreach (var idGenre in request.GenreID) { var genreBook = new BookGenre { BookId = entity.Id, GenreId = idGenre }; _context.BookGenres.Add(genreBook); } await _context.SaveChangesAsync(cancellationToken); return(entity.Id); }
public async Task <object> Handle(DeleteGenreCommand request, CancellationToken cancellationToken) { var entity = await _context.Genres.Include(c => c.BookGenres). Where(c => c.Id == request.Id && c.Id != 1).FirstOrDefaultAsync(cancellationToken); if (entity == null) { return(null); } if (entity.BookGenres.Count() != 0) { _context.BookGenres.RemoveRange(entity.BookGenres); } foreach (var iterm in entity.BookGenres) { var testIdGenre = await _context.BookGenres .SingleOrDefaultAsync(u => u.GenreId == 1 && u.BookId == iterm.BookId, cancellationToken); if (testIdGenre == null) { var bookGenre = new BookGenre { GenreId = 1, BookId = iterm.BookId }; _context.BookGenres.Add(bookGenre); } } _context.Genres.Remove(entity); await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <object> Handle(DeleteChapterAdminCommand request, CancellationToken cancellationToken) { var entity = await _context.Chapters.SingleOrDefaultAsync(u => u.Id == request.Id, cancellationToken); if (entity == null) { return(null); } _context.Chapters.Remove(entity); await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <int> Handle(CategoryAdminCommand request, CancellationToken cancellationToken) { var entity = new Category() { Name = request.Name, Description = request.Description, Status = request.Status }; _context.Categories.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity.Id); }
public async Task <int> Handle(CreateUserCommand request, CancellationToken cancellationToken) { var entity = new User { Username = request.Username, Password = request.Password, Role = request.Role }; _context.Users.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity.Id); }
public async Task <object> Handle(CreateChapterAdminCommand request, CancellationToken cancellationToken) { var entity = new Chapter { BookId = request.BookId, Content = request.Content, Title = request.Title, Description = request.Description, Status = request.Status }; _context.Chapters.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <UserViewModel> Handle(UpdateUserCommand request, CancellationToken cancellationToken) { var user = await _context.Users.SingleOrDefaultAsync(u => u.Id == request.Id, cancellationToken); if (user == null) { return(null); } user.Username = request.Username; user.Password = request.Password; user.DateModified = DateTime.Now; await _context.SaveChangesAsync(cancellationToken); var userModel = _mapper.Map <UserViewModel>(user); return(userModel); }
public async Task <object> Handle(UpdateBookAdminCommand request, CancellationToken cancellationToken) { var entity = await _context.Books.Include(b => b.BookCategories).Include(b => b.Chapters).Include(b => b.BookGenres) .SingleOrDefaultAsync(c => c.Id == request.Id, cancellationToken); if (entity == null) { return(null); } if (request.Image != null) { entity.Image = request.Image; } if (entity.Chapters.Count() != 0 && !entity.Chapters.Select(c => c.Status).Contains(2)) { entity.Status = request.Status; } entity.Slug = request.Slug; entity.Title = request.Title; entity.AuthorId = request.AuthorID; entity.DateModified = DateTime.Now; entity.Description = request.Description; _context.BookCategories.RemoveRange(entity.BookCategories); _context.BookGenres.RemoveRange(entity.BookGenres); foreach (var idCateBook in request.CategoriesID) { var category = new BookCategory { BookId = entity.Id, CategoryId = idCateBook }; _context.BookCategories.Add(category); } foreach (var idGenre in request.GenreID) { var genre = new BookGenre { BookId = entity.Id, GenreId = idGenre }; _context.BookGenres.Add(genre); } await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <int> Handle(CreateGenreCommand request, CancellationToken cancellationToken) { var entity = new Genre { Name = request.Name, Description = request.Description, DateCreated = DateTime.Now, DateModified = DateTime.Now, Status = 1 }; _context.Genres.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity.Id); }
public async Task <object> Handle(EditGenreCommand request, CancellationToken cancellationToken) { var entity = await _context.Genres .SingleOrDefaultAsync(c => c.Id == request.Id, cancellationToken); if (entity == null) { return(null); } entity.Name = request.Name; entity.Description = request.Description; entity.DateModified = DateTime.Now; entity.Status = request.Status; await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <object> Handle(DeleteBookAdminCommand request, CancellationToken cancellationToken) { var entity = await _context.Books.Include(b => b.Chapters).SingleOrDefaultAsync(b => b.Id == request.Id, cancellationToken); if (entity == null) { return(null); } if (entity.Chapters.Count() != 0) { return(null); } _context.Books.Remove(entity); await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <object> Handle(UpdateChapterAdminCommand request, CancellationToken cancellationToken) { var entity = await _context.Chapters.SingleOrDefaultAsync(c => c.Id == request.Id, cancellationToken); if (entity == null) { return(null); } entity.Title = request.Title; entity.Content = request.Content; entity.Description = request.Description; entity.Status = request.Status; entity.DateModified = DateTime.Now; await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task <int> Handle(CreateAuthorCommand request, CancellationToken cancellationToken) { var entity = new Author { FullName = request.Fullname, Nickname = request.Nickname, Description = request.Description, DateCreated = DateTime.Now, DateModified = DateTime.Now, Status = 1 }; _context.Authors.Add(entity); await _context.SaveChangesAsync(cancellationToken); return(entity.Id); }
public async Task <object> Handle(UpdateCategoryAdminCommand request, CancellationToken cancellationToken) { var entity = await _context.Categories.SingleOrDefaultAsync(c => c.Id == request.Id, cancellationToken); if (entity == null) { return(null); } entity.Name = request.Name; entity.Description = request.Description; entity.Status = request.Status; entity.DateModified = DateTime.Now; /* foreach (var iterm in entity.BookCategories) * { * var categoryEntity = await _context.BookCategories.SingleOrDefaultAsync(c => c.BookId == request.Id, cancellationToken); * }*/ await _context.SaveChangesAsync(cancellationToken); return(entity); }
public async Task<Unit> Handle(EditAuthorCommand request, CancellationToken cancellationToken) { var entity = await _context.Authors .SingleOrDefaultAsync(c => c.Id == request.Id, cancellationToken); if (entity == null) { return Unit.Value; } else { entity.FullName = request.FullName; entity.Nickname = request.Nickname; entity.Description = request.Description; entity.DateCreated = DateTime.Now; entity.DateModified = DateTime.Now; entity.Status = request.Status; await _context.SaveChangesAsync(cancellationToken); return Unit.Value; } }
public async Task <object> Handle(DeleteAuthorCommand request, CancellationToken cancellationToken) { var entity = await _context.Authors.Where(u => u.Id == request.Id).SingleOrDefaultAsync(cancellationToken); if (entity == null) { return(null); } var hasBook = await _context.Books.Where(o => o.AuthorId == entity.Id).FirstOrDefaultAsync(cancellationToken); if (hasBook != null) { return(null); } else { _context.Authors.Remove(entity); await _context.SaveChangesAsync(cancellationToken); return(entity); } }