class AvailabilityNotificationManager implements BasicEntityManagerInterface

Class AvailabilityNotificationManager is injected as empire_changed_price_plugin.availability_notifications_manager service. AvailabilityNotificationManager handles the logic for managed entity.

Traits

Trait JQGridManagerTrait

Properties

protected AvailabilityNotificationRepository $repository
protected ChangedPriceEventContainer $eventContainer

Methods

mixed
searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

No description

mixed
findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

No description

mixed
getCountForJQGRID(array|null $searchParams = null, array|null $sortParams = null, array|null $additionalParams = array(), JQGridWrapper|null $jqGridWrapper = null)

No description

__construct(AvailabilityNotificationRepository $repository, ChangedPriceEventContainer $eventContainer)

WishlistManager constructor.

addProductAvailabilityNotification(int $productId, int $attrValId, Order|null $order = null, int|null $quantity = null)

Persist new Availability notification

array
getAvailabilityListForUserBackend(int $userId)

Find all products that provided user is watching

mixed
getAllAvailabilityNotifications()

Find all availability notifications that should send notification to user

generateAvailabilityNotifications(array $idsArray, bool $removeNotifications = true)

Remove Availability notification or set should inform user to TRUE for all availability notifications that match provided ids

bool
removeAvailabilityNotificationsById(array $idsArray)

Remove Availability notification that match provided ids

array|bool
getAvailabilityListForUser()

Find all products that logged user is watching for frontend

bool
removeProductFromAvailabilityList(int $productId, int $attrValId)

Remove availability notification for combination of logged user and provided product

editAvailabilityNotification(AvailabilityNotification $availabilityNotification)

Update existing Availability notification

mixed
findUnavailableProductQuantityInOrder(int $productId, int $attrValId, int $orderId)

Find single availability notification for combination of logged user and provided order and product

array
findAvailabilityItemsForOrder(Order $order)

Find all availability notifications for provided order

bool
clearUnavailableQuantitiesForOrder(Order $order, null $productId = null, null $attrValId = null)

Remove availability notification for logged user for provide order(product)

array|bool
getAllAvailabilityNotificationForLoggedUser()

Find all availability notifications for logged user

bool
removeAvailabilityNotificationById(int $notificationId)

Find availability notification for provided id

array|bool
getCurrentlyAvailableNotificationsForUser()

Find all availability notifications THAT SHOULD SEND NOTIFICATION to logged user

array
loadDataForOlap()

No description

Details

in JQGridManagerTrait at line 26
mixed searchForJQGRID(array $searchParams, array $sortParams = array(), array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

Parameters

array $searchParams
array $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

mixed

in JQGridManagerTrait at line 40
mixed findAllForJQGRID(int $page, int $offset, array $sortParams, array $additionalParams = array(), JQGridWrapper $jqGridWrapper = null)

Parameters

int $page
int $offset
array $sortParams
array $additionalParams
JQGridWrapper $jqGridWrapper

Return Value

mixed

at line 170
mixed getCountForJQGRID(array|null $searchParams = null, array|null $sortParams = null, array|null $additionalParams = array(), JQGridWrapper|null $jqGridWrapper = null)

Parameters

array|null $searchParams
array|null $sortParams
array|null $additionalParams
JQGridWrapper|null $jqGridWrapper

Return Value

mixed

at line 46
__construct(AvailabilityNotificationRepository $repository, ChangedPriceEventContainer $eventContainer)

WishlistManager constructor.

Parameters

AvailabilityNotificationRepository $repository
ChangedPriceEventContainer $eventContainer

at line 65
AvailabilityNotification addProductAvailabilityNotification(int $productId, int $attrValId, Order|null $order = null, int|null $quantity = null)

Persist new Availability notification

Parameters

int $productId
int $attrValId
Order|null $order
int|null $quantity

Return Value

AvailabilityNotification

Exceptions

NoResultException
NonUniqueResultException

at line 98
array getAvailabilityListForUserBackend(int $userId)

Find all products that provided user is watching

Parameters

int $userId

Return Value

array

at line 108
mixed getAllAvailabilityNotifications()

Find all availability notifications that should send notification to user

Return Value

mixed

at line 119
generateAvailabilityNotifications(array $idsArray, bool $removeNotifications = true)

Remove Availability notification or set should inform user to TRUE for all availability notifications that match provided ids

Parameters

array $idsArray
bool $removeNotifications On TRUE Remove Availability notification, otherwise set should inform user to TRUE

at line 139
bool removeAvailabilityNotificationsById(array $idsArray)

Remove Availability notification that match provided ids

Parameters

array $idsArray

Return Value

bool

at line 149
array|bool getAvailabilityListForUser()

Find all products that logged user is watching for frontend

Return Value

array|bool

at line 186
bool removeProductFromAvailabilityList(int $productId, int $attrValId)

Remove availability notification for combination of logged user and provided product

Parameters

int $productId
int $attrValId

Return Value

bool

Exceptions

NoResultException
NonUniqueResultException

at line 205
AvailabilityNotification editAvailabilityNotification(AvailabilityNotification $availabilityNotification)

Update existing Availability notification

Parameters

AvailabilityNotification $availabilityNotification

Return Value

AvailabilityNotification

at line 219
mixed findUnavailableProductQuantityInOrder(int $productId, int $attrValId, int $orderId)

Find single availability notification for combination of logged user and provided order and product

Parameters

int $productId
int $attrValId
int $orderId

Return Value

mixed

at line 237
array findAvailabilityItemsForOrder(Order $order)

Find all availability notifications for provided order

Parameters

Order $order

Return Value

array

at line 251
bool clearUnavailableQuantitiesForOrder(Order $order, null $productId = null, null $attrValId = null)

Remove availability notification for logged user for provide order(product)

Parameters

Order $order
null $productId
null $attrValId

Return Value

bool

at line 267
array|bool getAllAvailabilityNotificationForLoggedUser()

Find all availability notifications for logged user

Return Value

array|bool

at line 285
bool removeAvailabilityNotificationById(int $notificationId)

Find availability notification for provided id

Parameters

int $notificationId

Return Value

bool

at line 295
array|bool getCurrentlyAvailableNotificationsForUser()

Find all availability notifications THAT SHOULD SEND NOTIFICATION to logged user

Return Value

array|bool

at line 309
array loadDataForOlap()

Return Value

array