Ejemplo n.º 1
0
        public async Task DeleteBookAsync(int bookId, UserAndOrganizationDto userOrg)
        {
            var bookOffices = await _bookOfficesDbSet
                              .Include(x => x.Book)
                              .Include(x => x.BookLogs)
                              .Where(x => x.BookId == bookId && x.OrganizationId == userOrg.OrganizationId)
                              .ToListAsync();

            _bookServiceValidator.CheckIfBookOfficesFoundWhileDeleting(bookOffices.Any());

            UpdateMetaFields(userOrg, bookOffices);
            await _uow.SaveChangesAsync(false);

            RemoveBookRelatedEntities(bookOffices);
            await _uow.SaveChangesAsync(false);
        }