Esempio n. 1
0
        public async Task <ActionResult <QuoteWithCoversModel> > GetQuote(int quoteId)
        {
            try
            {
                var quoteEntity = await _quoteRepository.GetQuoteAsync(quoteId);

                if (quoteEntity == null)
                {
                    return(NotFound());
                }

                //test with get single bookcover request
                //var bookCover = await _quoteRepository.GetBookCoverTestAsync(quoteEntity.Text);

                //get set of bookcovers from api
                var exBookCovers = await _quoteRepository.GetBookCoversAsync(quoteId);

                //old way for propertyBag
                //var propertyBag = new Tuple<Quote, IEnumerable<BookCover>>(quoteEntity, bookCovers);
                //var itsm1 = propertyBag.Item1;
                //var itsm2 = propertyBag.Item2;

                //way 2
                //(Quote book, IEnumerable<BookCover> bookCovers) propertyBag = (quoteEntity, bookCovers);

                //way 3 just return external model return and entity return to the QuoteWithBookCoversResultFilter to handle
                return(Ok((quoteEntity, exBookCovers)));
            }
            catch (Exception ex)
            {
                _logger.LogError($"{ex.Message}");

                //thorw full error stack page to front -- dev
                throw;

                //return this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failed"); -- production
            }
        }