Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
 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
         });
     }
 }
Ejemplo n.º 4
0
 public Brewery GetById(string id)
 {
     return(_breweryRepository.GetById(id));
 }
 //<inheritdoc />
 public Domain.Brewery GetById(int id)
 {
     return(_repository.GetById(id));
 }