Beispiel #1
0
        public async Task <IEnumerable <PunkApiBeerModel> > GetBeersAsync(SearchBeerModel searchBeerModel)
        {
            var listBeers = await GetBeersAsync();

            if (searchBeerModel.AttenuationLevel.HasValue)
            {
                listBeers = listBeers.Where(c => c.AttenuationLevel == searchBeerModel.AttenuationLevel.Value).ToList();
            }

            if (searchBeerModel.Ph.HasValue)
            {
                listBeers = listBeers.Where(c => c.Ph == searchBeerModel.Ph.Value).ToList();
            }

            if (searchBeerModel.Volume.HasValue)
            {
                listBeers = listBeers.Where(c => c.Volume.Value == searchBeerModel.Volume.Value).ToList();
            }

            if (!string.IsNullOrEmpty(searchBeerModel.IngredientName))
            {
                listBeers = listBeers.Where(
                    c => c.Ingredients.Hops.Any(h => h.Name == searchBeerModel.IngredientName) ||
                    c.Ingredients.Malt.Any(m => m.Name == searchBeerModel.IngredientName) ||
                    c.Ingredients.Yeast == searchBeerModel.IngredientName)
                            .ToList();
            }

            return(listBeers);
        }
Beispiel #2
0
        public async Task <IActionResult> Post([FromQuery] SearchBeerModel searchBeerModel)
        {
            var listBeersImport = await _punkApiHttpCliente.GetBeersAsync(searchBeerModel);

            await _beerService.Import(listBeersImport);

            return(Ok());
        }
Beispiel #3
0
        public async Task <IActionResult> Get([FromQuery] SearchBeerModel searchBeerModel)
        {
            var resultSearch = await _punkApiHttpCliente.GetBeersAsync(searchBeerModel);

            var returnResult = _mapper.Map <IEnumerable <ResultSearchModel> >(resultSearch);

            return(new OkObjectResult(returnResult));
        }