コード例 #1
0
        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);
            }
        }
コード例 #2
0
 public async Task UpdateData(Author data)
 {
     await _context.Update();
 }