コード例 #1
0
        public async Task <IActionResult> Post(BeerWithReviewDto beerDto)
        {
            var userId = Convert.ToInt64(User.Identity.Name);

            if (await _beerService.Add(beerDto, userId))
            {
                return(Ok());
            }
            else
            {
                return(BadRequest());
            }
        }
コード例 #2
0
        public async Task <bool> Add(BeerWithReviewDto beerWithReviewDto, long userId)
        {
            try
            {
                var beer   = beerWithReviewDto.Beer;
                var review = beerWithReviewDto.Review;

                var user = await _beerContext.
                           User.
                           SingleAsync(u => u.Id == userId);

                var createdBeer = await _beerContext.Beer.AddAsync(new BeerEntity {
                    Producer = beer.Producer,
                    Title    = beer.Title,
                    Creater  = user
                });

                var reviewModel = new BeerReviewEntity
                {
                    Beer        = createdBeer.Entity,
                    Price       = review.Price,
                    Mark        = review.Mark,
                    Description = review.Description,
                    IsDiscount  = review.IsDiscount
                };

                var createdReview = await _beerContext.Review.AddAsync(reviewModel);

                return(await _beerContext.SaveChangesAsync() != 0);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(false);
            }
        }