Ejemplo n.º 1
0
        public async Task <IActionResult> Post([FromBody] DrinkInputModel drinkModel)
        {
            try
            {
                var drink = _mapper.Map <Drink>(drinkModel);
                var user  = await _userService.GetUserAsync(_settings.DefaultUserId);

                drink = await _drinkService.AddDrinkAsync(user, drink);

                var drinkViewModel = _mapper.Map <DrinkViewModel>(drink);

                return(Ok(drinkViewModel));
            }
            catch (AutoMapperMappingException ammex)
            {
                var msg = "Drink type is not supported";
                _logger.LogError(ammex, msg);
                return(BadRequest(msg));
            }
            catch (Exception ex)
            {
                var msg = "Failed to create new drink";
                _logger.LogError(ex, msg);
                return(StatusCode(500, msg));
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> GetBurpeeCountForDrink([FromQuery] string drinkType)
        {
            try
            {
                var drinkModel = new DrinkInputModel {
                    DrinkType = drinkType
                };
                var drink = _mapper.Map <Drink>(drinkModel);
                var user  = await _userService.GetUserAsync(_settings.DefaultUserId);

                var drinkBurpee = _drinkBurpeeService.GetDrinkBurpee(user, drink);
                return(Ok(drinkBurpee.Count));
            }
            catch (AutoMapperMappingException ammex)
            {
                var msg = "Drink type is not supported";
                _logger.LogError(ammex, msg);
                return(BadRequest(msg));
            }
            catch (Exception ex)
            {
                var msg = "Failed to get burpee count for drink";
                _logger.LogError(ex, msg);
                return(StatusCode(500, msg));
            }
        }