internal static void Validate(this GetBookDetailsRequest request) { if (request == null) { throw BookstoreException.InvalidJsonData; } if (!Guid.TryParse(request.BookId, out Guid bookIdAsGuid)) { throw BookstoreException.InvalidBookId; } }
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 }); } }