class ProductRatingManager implements BasicEntityManagerInterface

Class ProductRatingManager is injected as alligator.product_rating_manager service. ProductRatingManager handles the logic for managed entity.

Properties

protected ProductRatingRepository $repository
protected ReviewEventContainer $eventContainer

Methods

__construct(ProductRatingRepository $repository, ReviewEventContainer $eventContainer)

ProductRatingManager constructor.

saveOrEdit(ProductRating $productRating)

Persist/update product rating entity

mixed
removeProductRating(ProductRating $productRating)

Delete ProductRating entity

int|false
saveProductRating(int $productId, int $rating)

Save/update product rating for logged user and provided product

array|int
getProductRatingRatingForLogedUser(int $productId)

Retrieve product rating(only value) for logged user and provided product

mixed
getProductRatingForUser(int $productId, int $userId)

Retrieve product rating(as object) for provided product and user

saveAdminReviewForProductProduct(int $productId, float $rating, bool $active)

Update review rating on product

array
getRatingTotalForProduct(int $productId)

Retrieve number of ratings and average average rating for provided product

mixed
getUsersByStringParam(int $page = 1, int $offset = 10, array $params = null)

Find users that match criteria

generateRatingsOnTerminate(int $productId)

Update review rating on product

dispatchProductRatingChanged(int $productId)

Dispatch event to update rating on product

Details

at line 41
__construct(ProductRatingRepository $repository, ReviewEventContainer $eventContainer)

ProductRatingManager constructor.

Parameters

ProductRatingRepository $repository
ReviewEventContainer $eventContainer

at line 54
ProductRating|PrimaryKeyInterface saveOrEdit(ProductRating $productRating)

Persist/update product rating entity

Parameters

ProductRating $productRating

Return Value

ProductRating|PrimaryKeyInterface

at line 66
mixed removeProductRating(ProductRating $productRating)

Delete ProductRating entity

Parameters

ProductRating $productRating

Return Value

mixed

at line 81
int|false saveProductRating(int $productId, int $rating)

Save/update product rating for logged user and provided product

Parameters

int $productId
int $rating

Return Value

int|false 200 on success, 400 on error, FALSE if user is not logged in

Exceptions

DBALException

at line 99
array|int getProductRatingRatingForLogedUser(int $productId)

Retrieve product rating(only value) for logged user and provided product

Parameters

int $productId

Return Value

array|int FALSE if user is not logged in, array otherwise

at line 118
mixed getProductRatingForUser(int $productId, int $userId)

Retrieve product rating(as object) for provided product and user

Parameters

int $productId
int $userId

Return Value

mixed | null

at line 134
PrimaryKeyInterface|bool|int saveAdminReviewForProductProduct(int $productId, float $rating, bool $active)

Update review rating on product

Parameters

int $productId
float $rating
bool $active

Return Value

PrimaryKeyInterface|bool|int

Exceptions

Exception

at line 163
array getRatingTotalForProduct(int $productId)

Retrieve number of ratings and average average rating for provided product

Parameters

int $productId

Return Value

array

Exceptions

NoResultException
NonUniqueResultException

at line 177
mixed getUsersByStringParam(int $page = 1, int $offset = 10, array $params = null)

Find users that match criteria

Parameters

int $page
int $offset
array $params

Return Value

mixed

at line 191
generateRatingsOnTerminate(int $productId)

Update review rating on product

Parameters

int $productId

Exceptions

NoResultException
NonUniqueResultException
Exception

at line 207
dispatchProductRatingChanged(int $productId)

Dispatch event to update rating on product

Parameters

int $productId