UserNotificationInfo.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.ComponentModel.DataAnnotations.Schema;
  4. using Abp.Domain.Entities;
  5. using Abp.Domain.Entities.Auditing;
  6. using Abp.Timing;
  7. namespace Abp.Notifications
  8. {
  9. /// <summary>
  10. /// Used to store a user notification.
  11. /// </summary>
  12. [Serializable]
  13. [Table("AbpUserNotifications")]
  14. public class UserNotificationInfo : Entity<Guid>, IHasCreationTime, IMayHaveTenant
  15. {
  16. /// <summary>
  17. /// Tenant Id.
  18. /// </summary>
  19. public virtual int? TenantId { get; set; }
  20. /// <summary>
  21. /// User Id.
  22. /// </summary>
  23. public virtual long UserId { get; set; }
  24. /// <summary>
  25. /// Notification Id.
  26. /// </summary>
  27. [Required]
  28. public virtual Guid TenantNotificationId { get; set; }
  29. /// <summary>
  30. /// Current state of the user notification.
  31. /// </summary>
  32. public virtual UserNotificationState State { get; set; }
  33. public virtual DateTime CreationTime { get; set; }
  34. public UserNotificationInfo()
  35. {
  36. }
  37. /// <summary>
  38. /// Initializes a new instance of the <see cref="UserNotificationInfo"/> class.
  39. /// </summary>
  40. /// <param name="create"></param>
  41. public UserNotificationInfo(Guid id)
  42. {
  43. Id = id;
  44. State = UserNotificationState.Unread;
  45. CreationTime = Clock.Now;
  46. }
  47. }
  48. }