Exemplo n.º 1
0
        public Book FindById(Guid id)
        {
            var bookEntity = _dbContext.Books.Include(b => b.Author).FirstOrDefault(b => b.Id == id);

            if (bookEntity == null)
            {
                return(null);
            }

            var authorEntity = bookEntity.Author;
            var author       = AuthorBuilder.CreateNew()
                               .WithId(authorEntity.Id)
                               .WithFirstName(authorEntity.FirstName)
                               .WithLastName(authorEntity.LastName)
                               .Build();

            return(BookBuilder.CreateNew()
                   .WithId(bookEntity.Id)
                   .WithTitle(bookEntity.Title)
                   .WithIsbn13(bookEntity.Isbn)
                   .WithReleaseDate(bookEntity.ReleaseDate)
                   .WithPublisher(bookEntity.Publisher)
                   .WithAuthor(author)
                   .Build());
        }
        public void Run()
        {
            var andyHunt = AuthorBuilder.CreateNew()
                           .WithId(Guid.NewGuid())
                           .WithFirstName("Andy")
                           .WithLastName("Hunt")
                           .Build();

            var pragmaticProgrammerBook = BookBuilder.CreateNew()
                                          .WithId(Guid.NewGuid())
                                          .WithTitle("The Pragmatic Programmer: your journey to mastery")
                                          .WithIsbn13("9780135957059")
                                          .WithReleaseDate(2019, 9)
                                          .WithPublisher("Addison-Wesley Professional")
                                          .WithAuthor(andyHunt)
                                          .Build();

            _bookService.AddToBookshelf(pragmaticProgrammerBook);

            Console.WriteLine("Added new book: {0}", pragmaticProgrammerBook);
            Console.ReadLine();
        }