コード例 #1
0
ファイル: ArticleValidatorTest.cs プロジェクト: gobixm/learn
 private void Check_ArticleCommentText_Invalid(int textLength)
 {
     string text = GetStringWithDesiredLength(textLength);
     var article = new ArticleDto {Comments = new List<CommentDto> {new CommentDto {Text = text}}};
     string[] errors;
     bool valid = article.Validate(out errors, true);
     Assert.False(valid, string.Join(";", errors));
 }
コード例 #2
0
ファイル: ArticleValidatorTest.cs プロジェクト: gobixm/learn
 private void Check_ArticleTitle_Invalid(int titleLength)
 {
     string title = GetStringWithDesiredLength(titleLength);
     var article = new ArticleDto {Title = title};
     string[] errors;
     bool valid = article.Validate(out errors, true);
     Assert.False(valid, string.Join(";", errors));
 }
コード例 #3
0
ファイル: ArticleValidatorTest.cs プロジェクト: gobixm/learn
 private void Check_ArticleText_Valid(int textLength)
 {
     string text = GetStringWithDesiredLength(textLength);
     var article = new ArticleDto {Text = text};
     string[] errors;
     bool valid = article.Validate(out errors, true);
     Assert.True(valid);
 }
コード例 #4
0
ファイル: ArticleService.cs プロジェクト: gobixm/learn
        public void NewArticle(ArticleDto article)
        {
            string[] validationErrors;
            if (!article.Validate(out validationErrors, true))
            {
                throw new WebFaultException<WebFaultDto>(
                    new WebFaultDto("Не удалось добавить статью", string.Join("\n", validationErrors)),
                    HttpStatusCode.BadRequest);
            }

            Article articleToSave;
            try
            {
                articleToSave = _mapper.Map<Article>(article);
            }
            catch (Exception ex)
            {
                throw new WebFaultException<WebFaultDto>(new WebFaultDto("Ошибка при маппинге статьи", ex.Message),
                                                         HttpStatusCode.BadRequest);
            }
            try
            {
                _commandRepository.CreateArticle(articleToSave);
            }
            catch (Exception ex)
            {
                throw new WebFaultException<WebFaultDto>(
                    new WebFaultDto("Ошибка при добавлении статьи в репозиторий", ex.Message),
                    HttpStatusCode.InternalServerError);
            }
        }