示例#1
0
        public async Task <IActionResult> GetDrinkById(Guid id, [FromQuery] string fields)
        {
            if (!_drinkRepository.HasDrink(id))
            {
                return(NotFound($"Drink {id} not found."));
            }

            var drinkFromRepo = await _drinkRepository.GetDrinkByIdAsync(id);

            var drinkDto   = _mapper.Map <DrinkDTO>(drinkFromRepo);
            var shapedData = drinkDto.ShapeData(fields);

            return(Ok(shapedData));
        }
示例#2
0
        public async Task <IActionResult> GetDrinkPictures([FromRoute] Guid drinkId)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            if (!_drinkRepository.HasDrink(drinkId))
            {
                return(NotFound($"Drink {drinkId} not found."));
            }

            var picturesFromRepo = await _drinkRepository.GetDrinkPicturesAsync(drinkId);

            if (picturesFromRepo.Count() <= 0)
            {
                return(NotFound("Drink pictures not found."));
            }

            var pictures = _mapper.Map <DrinkPictureDTO[]>(picturesFromRepo);

            return(Ok(pictures));
        }