private Book(Author author, ISBN13 isbn13, Int1000 pages, Maybe <RatingEnum> rating) { _author = author; _isbn13 = isbn13; _pages = pages; _rating = rating; }
public static ValidationResult <Book> Create(string author, string isbn13, int pages, string rating) { ValidationResult <Author> authorResult = Author.Create(author); ValidationResult <ISBN13> isbn13Result = ISBN13.Create(isbn13); ValidationResult <Int1000> pagesResult = Int1000.Create(pages); ValidationResult <Maybe <RatingEnum> > ratingResult = Spec.Optional(x => !String.IsNullOrWhiteSpace(x), Rating.Create, rating); return(ValidationResult.Combine(authorResult, isbn13Result, pagesResult, ratingResult, (auth, isbn, ps, r) => new Book(auth, isbn, ps, r))); }