48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using System;
|
|
using Sockeye.Biz;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Sockeye.Models
|
|
{
|
|
|
|
public class InAppNotification
|
|
{
|
|
public long Id { get; set; }
|
|
public uint Concurrency { get; set; }
|
|
|
|
[Required]
|
|
public long UserId { get; set; }
|
|
[Required]
|
|
public DateTime Created { get; set; }
|
|
public SockType? SockType { get; set; }
|
|
public long? ObjectId { get; set; }
|
|
[Required]
|
|
public string Name { get; set; }//object name or closest equivalent for display
|
|
[Required]
|
|
public NotifyEventType EventType { get; set; }
|
|
[Required]
|
|
public long NotifySubscriptionId { get; set; }
|
|
public string Message { get; set; }
|
|
public TimeSpan AgeValue { get; set; }
|
|
public decimal DecValue { get; set; }
|
|
[Required]
|
|
public bool Fetched { get; set; }
|
|
|
|
public InAppNotification()
|
|
{
|
|
Created = DateTime.UtcNow;
|
|
Fetched = false;
|
|
Name = string.Empty;
|
|
AgeValue = TimeSpan.Zero;
|
|
DecValue = 0m;
|
|
}
|
|
|
|
//linked entity
|
|
[JsonIgnore]
|
|
public NotifySubscription NotifySubscription { get; set; }
|
|
|
|
}//eoc
|
|
|
|
}//eons
|