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)); } }
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)); } }