예제 #1
0
 internal static void Validate(this GetBookDetailsRequest request)
 {
     if (request == null)
     {
         throw BookstoreException.InvalidJsonData;
     }
     if (!Guid.TryParse(request.BookId, out Guid bookIdAsGuid))
     {
         throw BookstoreException.InvalidBookId;
     }
 }
예제 #2
0
 public GetBookDetailsResponse GetBookDetails(GetBookDetailsRequest request)
 {
     request.Validate();
     using (var connection = _DbConnectionProvider.SafelyInvoke(_logger))
     {
         var book = connection.GetBookById(request.BookId);
         if (book == null)
         {
             throw BookstoreException.BookNotFound;
         }
         var booksDetails = book.ToDetailsModel();
         return(new GetBookDetailsResponse {
             BookDetails = booksDetails
         });
     }
 }