public IActionResult Create([FromBody] CreateBeerDto beer) { Brewery brewery = breweryRepository.GetById(beer.BreweryId); if (brewery == null) { return(BadRequest($"Brewery with id {beer.BreweryId} does not exists")); } Result <BeerName> beerNameResult = BeerName.Create(beer.Name); Result <BeerPrice> beerPriceResult = BeerPrice.Create(beer.Price); Result <BeerAlcoholDegree> beerAlcoholDegreeResult = BeerAlcoholDegree.Create(beer.AlcoholDegree); Result result = Result.Combine(beerNameResult, beerPriceResult, beerAlcoholDegreeResult); if (result.IsFailure) { return(BadRequest(beerNameResult.Error)); } Result <Brewery> breweryResult = brewery.AddBeer(beerNameResult.Value, beerPriceResult.Value, beerAlcoholDegreeResult.Value); if (breweryResult.IsFailure) { return(BadRequest(breweryResult.Error)); } return(Ok(breweryResult.Value)); }
public IActionResult GetById(long id) { Brewery brewery = breweryRepository.GetById(id); if (brewery == null) { return(NotFound()); } var result = new BreweryDto() { Id = brewery.Id, Name = brewery.Name.Value, Beers = brewery.Beers?.Select(x => new BeerDto() { Name = x.Name.Value, Price = x.Price.Value, AlcoholDegree = x.AlcoholDegree.Value, Providers = x.BeerProviders?.Select(y => new ProviderDto() { Name = y.Provider.Name.Value }).ToList() }).ToList() }; return(Ok(result)); }
private BeerOnTap CreateBeerOnTap(Tap tap) { if (tap.HasKeg) { var keg = _kegRepository.GetById(tap.KegId); var beer = _beerRepository.GetById(keg.BeerId); var brewery = _breweryRepository.GetById(beer.BreweryId); var style = (string.IsNullOrEmpty(beer.StyleId)) ? null : _styleRepository.GetById(beer.StyleId); //TODO Maybe add a default color beer.Color = (null == style) ? string.Empty : style.Color; beer.Style = (null == style) ? string.Empty : style.Name; return(new BeerOnTap() { Tap = tap, Keg = keg, Beer = beer, Brewery = brewery, Style = style }); } else { return(new BeerOnTap() { Tap = tap }); } }
public Brewery GetById(string id) { return(_breweryRepository.GetById(id)); }
//<inheritdoc /> public Domain.Brewery GetById(int id) { return(_repository.GetById(id)); }