public async Task <DeleteArticleResponse> DeleteArticleAsync(DeleteArticleRequest request) { var response = new DeleteArticleResponse(); try { var article = await this.articleRepository.GetByIdAsync(request.ArticleId); if (article != null) { response.Title = article.ArticleVersions.FirstOrDefault(x => x.LanguageId == request.LanguageId)?.Title ?? article.ArticleVersions.FirstOrDefault(x => x.LanguageId == 1)?.Title; this.articleRepository.Delete(article); await this.unitOfWork.CommitAsync(); response.Status = StatusCode.OK; } else { response.Status = StatusCode.NotFound; } } catch (Exception ex) { this.exceptionHandler.HandleException(ex); response.Status = StatusCode.InternalServerError; } return(response); }
public async Task DeleteArticleCommandTestAsync(string identityUserId, int articleId, DeleteArticleResponse result) { DeleteArticleCommand request = new DeleteArticleCommand { Id = articleId, IdentityUserId = identityUserId, }; DeleteArticleCommandHandler handler = new DeleteArticleCommandHandler(_deleteFixture.Context); var expectedResult = await handler.Handle(request, new CancellationToken()); Assert.Equal(expectedResult.IsSuccessful, result.IsSuccessful); if (expectedResult.IsSuccessful) { Article deletedArticle = _deleteFixture.Context.Articles.Find(expectedResult.Id); Assert.Null(deletedArticle); Assert.Equal(expectedResult.ViewRole, result.ViewRole); Assert.Equal(expectedResult.EditRole, result.EditRole); } Assert.Equal(expectedResult.Message, result.Message); }
public async Task<DeleteArticleResponse> DeleteArticleAsync(DeleteArticleRequest request) { var response = new DeleteArticleResponse(); try { var article = await this.articleRepository.GetByIdAsync(request.ArticleId); if (article != null) { response.Title = article.ArticleVersions.FirstOrDefault(x => x.LanguageId == request.LanguageId)?.Title ?? article.ArticleVersions.FirstOrDefault(x => x.LanguageId == 1)?.Title; this.articleRepository.Delete(article); await this.unitOfWork.CommitAsync(); response.Status = StatusCode.OK; } else { response.Status = StatusCode.NotFound; } } catch (Exception ex) { this.exceptionHandler.HandleException(ex); response.Status = StatusCode.InternalServerError; } return response; }