public void FavoriteBookDto_is_not_valid(FavoriteBookDto dto, string message) { var result = dto.IsValid(); result.Should().BeFalse(); dto.ValidationResult.Errors.Should().NotBeNullOrEmpty(); dto.ValidationResult.Errors.First().ErrorMessage.Should().Be(message); }
public void Add(FavoriteBookDto dto) { if (!dto.IsValid()) { NotifyValidationError(dto); return; } var authors = string.Join(";", dto.Authors.Select(x => x)); var favoriteBook = new FavoriteBook(bookId: dto.BookId, link: dto.Link, title: dto.Title, thumbnail: dto.Thumbnail, description: dto.Description, authors: authors, user: dto.User); _favoriteBookRepository.Add(favoriteBook); Commit(); }
public async Task AddFavoriteBook(FavoriteBookDto input) { List <string> errorList = new List <string>(); long userID = AbpSession.UserId.Value; var getData = _favoriteBookRepository.GetAll() .Where(x => x.LibraryId == input.LibraryId && x.BookId == input.BookId && x.UserId == userID) .FirstOrDefault(); if (getData == null) { var favoriteBook = new FavoriteBook { UserId = userID, BookLibraryId = input.BookLibraryId, BookId = input.BookId, LibraryId = input.LibraryId }; FavoriteBookValidator validator = new FavoriteBookValidator(); ValidationResult validationResult = validator.Validate(favoriteBook); if (!validationResult.IsValid) { foreach (var failure in validationResult.Errors) { errorList.Add(string.Format("{0}", failure.ErrorMessage)); } string errorString = string.Join(" ", errorList.ToArray()); throw new UserFriendlyException(errorString); } await _favoriteBookRepository.InsertAsync(favoriteBook); } else { throw new UserFriendlyException(string.Format("The book is already in the favorites list!")); } }
public void FavoriteBookDto_is_valid() { var dto = new FavoriteBookDto { Title = "test", Description = "test", Authors = new List <string>() { "test", "test2" }, BookId = "test", Link = "test", Thumbnail = "test", User = new UserBuilder().Builder(), }; var result = dto.IsValid(); result.Should().BeTrue(); dto.ValidationResult.Errors.Should().BeNullOrEmpty(); }