Class AppNotificationService
Provides services to manage application notifications, such as retrieving and setting notification read status, saving notifications, and removing notifications.
Implements
Inherited Members
Namespace: DataWeb.Notification
Assembly: DataWeb.Core.dll
Syntax
public class AppNotificationService : IAppNotificationService
Remarks
Initializes a new instance of the AppNotificationService class.
Constructors
AppNotificationService(IAppNotificationStore)
Provides services to manage application notifications, such as retrieving and setting notification read status, saving notifications, and removing notifications.
Declaration
public AppNotificationService(IAppNotificationStore notificationStore)
Parameters
Type | Name | Description |
---|---|---|
IAppNotificationStore | notificationStore | An instance of the IAppNotificationStore interface. |
Remarks
Initializes a new instance of the AppNotificationService class.
Methods
GetNotificationAsync(string, CancellationToken)
Retrieves a notification with the specified notificationId.
Declaration
public Task<AppNotification> GetNotificationAsync(string notificationId, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | notificationId | The Id of the notification to retrieve. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<AppNotification> | An AppNotification object. |
GetNotificationsAsync(AppNotificationFilter, CancellationToken)
Retrieves a collection of notifications based on the provided filter.
Declaration
public Task<IEnumerable<AppNotification>> GetNotificationsAsync(AppNotificationFilter filter, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
AppNotificationFilter | filter | The criteria used to filter notifications. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<IEnumerable<AppNotification>> | A collection of notifications that match the provided filter. |
GetUserNotificationCountAsync(string, string, CancellationToken)
Retrieves the count of notifications for a user with the specified userIdMaster and context.
Declaration
public Task<long> GetUserNotificationCountAsync(string userIdMaster, string context, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | userIdMaster | The user identifier. |
string | context | The context of the notifications to retrieve. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<long> | The count of notifications as a long. |
GetUserNotificationViewForcedCountAsync(string, string, CancellationToken)
Retrieves the count of notifications with forced view for a user with the specified userIdMaster and context.
Declaration
public Task<long> GetUserNotificationViewForcedCountAsync(string userIdMaster, string context, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | userIdMaster | The user identifier. |
string | context | The context of the notifications to retrieve. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<long> | The count of notifications with forced view as a long. |
GetUserNotificationsAsync(string, string, CancellationToken)
Retrieves all notifications for a user with the specified userIdMaster and context.
Declaration
public Task<IEnumerable<AppNotification>> GetUserNotificationsAsync(string userIdMaster, string context, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | userIdMaster | The user identifier. |
string | context | The context of the notifications to retrieve. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task<IEnumerable<AppNotification>> | A collection of AppNotification objects. |
RemoveNotificationAsync(string, CancellationToken)
Removes a notification with the specified messageId.
Declaration
public Task RemoveNotificationAsync(string notificationId, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | notificationId | The Id of the notification to remove. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A task representing the asynchronous remove operation. |
RemoveNotificationsToDateAsync(DateTime, string, bool, CancellationToken)
Removes all notifications with a notification date before or equal to the specified toDate and context.
Declaration
public Task RemoveNotificationsToDateAsync(DateTime toDate, string context, bool includeNotRead = false, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
DateTime | toDate | The maximum date for the notifications to remove. |
string | context | The context of the notifications to remove. |
bool | includeNotRead | Whether to include notifications that have not been read. Defaults to false. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A task representing the asynchronous remove operation. |
SaveNotificationAsync(AppNotification, CancellationToken)
Saves an AppNotification object to the data store.
Declaration
public Task SaveNotificationAsync(AppNotification notification, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
AppNotification | notification | The AppNotification object to save. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A task representing the asynchronous save operation. |
SetNotificationIsReadAsync(string, bool, CancellationToken)
Sets the read status of a notification with the specified notificationId.
Declaration
public Task SetNotificationIsReadAsync(string notificationId, bool isRead = true, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | notificationId | The Id of the notification to update. |
bool | isRead | The new read status. Defaults to true. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A task representing the asynchronous update operation. |
SetUserNotificationIsReadAllAsync(string, string, bool, CancellationToken)
Sets the read status of all notifications for a user with the specified userIdMaster and context.
Declaration
public Task SetUserNotificationIsReadAllAsync(string userIdMaster, string context, bool isRead = true, CancellationToken cancellationToken = default)
Parameters
Type | Name | Description |
---|---|---|
string | userIdMaster | The user identifier. |
string | context | The context of the notifications to update. |
bool | isRead | The new read status. Defaults to true. |
CancellationToken | cancellationToken |
Returns
Type | Description |
---|---|
Task | A task representing the asynchronous update operation. |