Exemplo n.º 1
0
        public async Task <ActionResult <IEnumerable <OpinionDto> > > GetOpinions(int venueId)
        {
            try
            {
                var opinionsFromRepo = await _venueRepository.GetOpinionsForVenue(venueId);

                var ratings = await _venueRepository.GetRatingsForVenue(venueId);

                var opinionsAndRatings = _mapper.Map <IEnumerable <OpinionDto> >(opinionsFromRepo);

                foreach (var opinion in opinionsAndRatings)
                {
                    var rating = ratings.LastOrDefault(r => r.UserId == opinion.UserId);
                    if (rating != null)
                    {
                        opinion.UsersRating = rating.Value;
                    }
                }
                return(Ok(opinionsAndRatings));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError, "Wystąpił nieznany błąd"));
            }
        }