public IHttpActionResult AddReview(ReviewRequest reviewRequest)
 {
     try
     {
         ControllerHelper.CalidateAndSetUserInReviewRequest(Request, reviewRequest);
         reviewService.AddReview(reviewRequest);
         List <PendingReviewDTO> pendingReviews = cartService.GetPendingReviewsForUser(reviewRequest.UserId);
         UserContextDTO          userContext    = GetUserContextFromRequest(Request);
         userContext.PendingsReviewDTO = pendingReviews;
         LoginContext.GetInstance().SaveContext(userContext);
         ControllerResponse response = ControllerHelper.CreateSuccessResponse("La review se dió de alta satisfactoriamente");
         response.Data = userContext;
         return(Ok(response));
     }
     catch (BadRequestException e)
     {
         return(CreateBadResponse(e.Message));
     }
     catch (RepositoryException e)
     {
         return(CreateBadResponse(e.Message));
     }
     catch (OperationException e)
     {
         return(CreateBadResponse(e.Message));
     }
     catch (Exception)
     {
         return(CreateBadResponse("Ocurrió un error al agregar review"));
     }
 }