public async Task <IActionResult> AddRentalOpinion(int rentalId, RentalOpinionForCreateDto rentalOpinionForCreateDto)
        {
            var rental = await database.RentalRepository.Get <Rental>(rentalId);

            var currentUserId = int.Parse(HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value);

            if (rentalService.UserRentalOpinionExist(currentUserId, rental))
            {
                return(BadRequest("Nie można dodać kilku opinii"));
            }

            if (rental.OwnerId == currentUserId)
            {
                return(BadRequest("Nie można dodać opinii do swojej szkółki"));
            }

            var rentalOpinion = mapper.Map <RentalOpinion>(rentalOpinionForCreateDto);

            if (await rentalService.AddRentalOpinion(currentUserId, rental, rentalOpinion))
            {
                var rentalOpinionToReturn = mapper.Map <RentalOpinionDetailsDto>(rentalOpinion);

                await notificationSystem.PushNotification(rental.OwnerId, StaticExpressions.RentalOpinionCreatedForOwner(rentalOpinion.User.UserName));

                return(Ok(rentalOpinionToReturn));
            }

            return(BadRequest("Nie udało się dodać opinii dla wypożyczalni"));
        }