IUserNotificationManager.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. namespace Abp.Notifications
  5. {
  6. /// <summary>
  7. /// Used to manage user notifications.
  8. /// </summary>
  9. public interface IUserNotificationManager
  10. {
  11. /// <summary>
  12. /// Gets notifications for a user.
  13. /// </summary>
  14. /// <param name="user">User.</param>
  15. /// <param name="state">State</param>
  16. /// <param name="skipCount">Skip count.</param>
  17. /// <param name="maxResultCount">Maximum result count.</param>
  18. Task<List<UserNotification>> GetUserNotificationsAsync(UserIdentifier user, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue);
  19. /// <summary>
  20. /// Gets user notification count.
  21. /// </summary>
  22. /// <param name="user">User.</param>
  23. /// <param name="state">State.</param>
  24. Task<int> GetUserNotificationCountAsync(UserIdentifier user, UserNotificationState? state = null);
  25. /// <summary>
  26. /// Gets a user notification by given id.
  27. /// </summary>
  28. /// <param name="tenantId">Tenant Id</param>
  29. /// <param name="userNotificationId">The user notification id.</param>
  30. Task<UserNotification> GetUserNotificationAsync(int? tenantId, Guid userNotificationId);
  31. /// <summary>
  32. /// Updates a user notification state.
  33. /// </summary>
  34. /// <param name="tenantId">Tenant Id.</param>
  35. /// <param name="userNotificationId">The user notification id.</param>
  36. /// <param name="state">New state.</param>
  37. Task UpdateUserNotificationStateAsync(int? tenantId, Guid userNotificationId, UserNotificationState state);
  38. /// <summary>
  39. /// Updates all notification states for a user.
  40. /// </summary>
  41. /// <param name="user">User.</param>
  42. /// <param name="state">New state.</param>
  43. Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state);
  44. /// <summary>
  45. /// Deletes a user notification.
  46. /// </summary>
  47. /// <param name="tenantId">Tenant Id.</param>
  48. /// <param name="userNotificationId">The user notification id.</param>
  49. Task DeleteUserNotificationAsync(int? tenantId, Guid userNotificationId);
  50. /// <summary>
  51. /// Deletes all notifications of a user.
  52. /// </summary>
  53. /// <param name="user">User.</param>
  54. Task DeleteAllUserNotificationsAsync(UserIdentifier user);
  55. }
  56. }