public async Task postDriverReview()
        {
            var review = new ReviewResource
            {
                Review = "good",
                Rating = 8,
                ReviewFromEmail = "*****@*****.**",
                ReviewToEmail = "*****@*****.**"
            };
            IActionResult result = await _reviewController.PostDriverReview(review);

            Assert.IsType<BadRequestResult>(result);
        }
        public async Task <IActionResult> PostDriverReview([FromBody] ReviewResource review)
        {
            if (ModelState.IsValid)
            {
                var result = await reviewRepo.AddDriverReview(review);

                if (result)
                {
                    return(Ok(result));
                }
                else
                {
                    return(NotFound("Driver or Customer not found"));
                }
            }
            return(BadRequest(false));
        }
        public async Task <bool> AddDriverReview(ReviewResource review)
        {
            var driver = await userRepo.GetDriverByEmail(review.ReviewToEmail);

            var customer = await userRepo.GetCustomerByEmail(review.ReviewFromEmail);

            if (driver == null || customer == null)
            {
                return(false);
            }
            var driverReview = mapper.Map <ReviewResource, DriverReview>(review);

            driverReview.DriverID   = driver.DriverID;
            driverReview.CustomerID = customer.CustomerID;
            await reviewContext.DriverReview.AddAsync(driverReview);

            await reviewContext.SaveChangesAsync();

            await SetRatingAvarage(driver);

            return(true);
        }