public async Task CreateReviewAsync(string userId, decimal grade, string description, string bookId) { var bookTitle = await _bookService.GetBookTitleAsync(bookId).ConfigureAwait(false); var allBooksWithSameTitle = await _bookService.GetAllSameBooks(bookId).ConfigureAwait(false); //BookRating item.BookRating = _context.BookRating.Where(br => br.BookId == bookId); foreach (var item in allBooksWithSameTitle) { if (item.BookRating != null) { item.BookRating.Rating = grade; _context.Update(item); await _context.SaveChangesAsync().ConfigureAwait(false); } else { var bookRating = new BookRating { BookId = bookId, Rating = grade }; _context.BookRating.Add(bookRating); await _context.SaveChangesAsync().ConfigureAwait(false); item.BookRatingId = bookRating.Id; _context.Update(item); await _context.SaveChangesAsync().ConfigureAwait(false); } var review = new Review { BookRatingId = item.BookRating.Id, Description = description, Grade = grade, UserId = userId, BookTitle = bookTitle }; _context.Review.Add(review); await _context.SaveChangesAsync().ConfigureAwait(false); } }
public async Task UpdateData(Author data) { await _context.Update(); }