/// <inheritdoc /> public Result UpdateBlogRewiew(BlogRewiewDto blogRewiewDto) { using var transaction = _context.Database.BeginTransaction(); try { var review = _context.BlogReviews.Include(x => x.BlogArticle) .FirstOrDefault(x => x.Id == blogRewiewDto.Id); var blogArticle = _context.BlogArticles.Find(blogRewiewDto.BlogArticleId); if (review != null) { review.BlogArticle = blogArticle; review.Author = blogRewiewDto.Author; review.DateCreate = blogRewiewDto.DateCreate; review.Rating = blogRewiewDto.Rating; review.Status = blogRewiewDto.Status; review.TextReview = blogRewiewDto.TextReview; _context.Update(review); _context.SaveChanges(); transaction.Commit(); return(Result.Ok()); } return(Result.Fail("Ошибка при обновлении отзыва.")); } catch (Exception e) { transaction.Rollback(); throw new ApplicationException(e.InnerException.Message ?? e.Message); } }
/// <inheritdoc /> public async Task <Result> AddBlogRewiew(BlogRewiewDto blogRewiewDto) { await using var transaction = await _context.Database.BeginTransactionAsync(); try { var blogArticle = await _context.BlogArticles.FindAsync(blogRewiewDto.BlogArticleId); var blogReview = new BlogReview { BlogArticle = blogArticle, Author = blogRewiewDto.Author, DateCreate = blogRewiewDto.DateCreate, Rating = blogRewiewDto.Rating, Status = blogRewiewDto.Status, TextReview = blogRewiewDto.TextReview }; await _context.AddAsync(blogReview); await _context.SaveChangesAsync(); await transaction.CommitAsync(); return(Result.Ok()); } catch (Exception e) { await transaction.RollbackAsync(); throw new ApplicationException(e.InnerException.Message ?? e.Message); } }
public IActionResult UpdateReview([FromForm] BlogRewiewDto rewiewDto) { var result = _blogRewiewService.UpdateBlogRewiew(rewiewDto); return(Ok(result)); }
public async Task <IActionResult> AddArticle([FromForm] BlogRewiewDto rewiewDto) { var result = await _blogRewiewService.AddBlogRewiew(rewiewDto); return(Ok(result)); }