Пример #1
0
        // GET: Beers/Details/5
        //[Route("{id}")]
        public async Task <IActionResult> Details(int id)
        {
            if (id == 0)
            {
                return(NotFound());
            }
            try
            {
                var beerDTO = await beerService.GetBeerAsync(id);

                var model = new BeerViewModel(beerDTO.Id, beerDTO.BeerName, beerDTO.AlcByVol, beerDTO.Description,
                                              beerDTO.BeerType, beerDTO.BeerTypeId, beerDTO.Brewery, beerDTO.BreweryId,
                                              beerDTO.Reviews, beerDTO.AvgRating, beerDTO.DateUnlisted);

                var imgPath = beerDTO.ImgPath;
                var absPath = _env.WebRootPath + imgPath;
                if (!System.IO.File.Exists(absPath))
                {
                    imgPath = @"\Images\Beer\PlaceHolder.png";
                }

                ViewBag.Imagepath = imgPath;

                return(View(model));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
Пример #2
0
        public async Task <IActionResult> AddRating(int beerId, [FromBody] AddBeerRatingDto ratingDto)
        {
            if (!await _service.IfBeerExistAsync(beerId))
            {
                return(NotFound());
            }

            var userLogged = int.Parse(HttpContext.User.Identity.Name);

            var userRating = await _service.GetBeerRaitingForUserAsync(userLogged, beerId);

            if (userRating == null)
            {
                var result = await _service.AddBeerRatingAsync(userLogged, beerId, ratingDto);

                var beer = await _beerService.GetBeerAsync(beerId);

                var updatedBeer = new SaveBeerDto();

                updatedBeer.Name        = beer.Name;
                updatedBeer.AvatarUrl   = beer.AvatarUrl;
                updatedBeer.BeerTypeId  = beer.BeerType.Id;
                updatedBeer.BreweryId   = beer.Brewery.Id;
                updatedBeer.Description = beer.Description;
                updatedBeer.Percentage  = beer.Percentage;
                if (beer.AverageRating == 0)
                {
                    updatedBeer.AverageRating = (beer.AverageRating + ratingDto.Average);
                }
                else
                {
                    updatedBeer.AverageRating = (beer.AverageRating + ratingDto.Average) / 2;
                }


                var updateResult = await _beerService.UpdateBeer(beerId, updatedBeer);

                if (!updateResult)
                {
                    return(BadRequest("Niepowodzenie :("));
                }

                return(Ok(result));
            }

            return(BadRequest("Juz dodałeś ocenę"));
        }
Пример #3
0
        public async Task <IActionResult> GetBeer(int id)
        {
            var beer = await _service.GetBeerAsync(id);

            if (beer == null)
            {
                return(NotFound());
            }

            return(Ok(beer));
        }
Пример #4
0
        public async Task <IActionResult> Get(int id)
        {
            try
            {
                var beerDTO = await beerService.GetBeerAsync(id);

                var model = new BeerViewModel(beerDTO.Id, beerDTO.BeerName,
                                              beerDTO.AlcByVol, beerDTO.Description, beerDTO.BeerType,
                                              beerDTO.BeerTypeId, beerDTO.Brewery, beerDTO.BreweryId);

                return(Ok(model));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
Пример #5
0
        //[Route("{id}")]
        public async Task <IActionResult> Edit(int id)
        {
            if (id == 0)
            {
                return(NotFound());
            }
            try
            {
                var brDTO = await reviewService.GetReviewAsync(id);

                var bDTO = await beerService.GetBeerAsync(brDTO.BeerId);

                var model = new BeerReviewEditViewModel(brDTO.Id, brDTO.RMessage, brDTO.User, bDTO.Id, bDTO.BeerName, bDTO.AlcByVol, bDTO.Description,
                                                        bDTO.BeerType, bDTO.Brewery, bDTO.AvgRating, brDTO.ReviewedOn, brDTO.DeletedOn);

                return(View(model));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }