This commit is contained in:
2020-07-16 19:32:59 +00:00
parent 9f0944d37b
commit 2ddc4029fb
5 changed files with 78 additions and 39 deletions

View File

@@ -16,14 +16,16 @@ namespace AyaNova.Models
[Required]
public DateTime Processed { get; set; }
public AyaType? AyaType { get; set; }
public long? ObjectId { get; set; }
public AyaType AyaType { get; set; }
public long ObjectId { get; set; }
[Required]
public NotifyEventType EventType { get; set; }
[Required]
public long SubscriptionId { get; set; }
public long? IdValue { get; set; }
public decimal? DecValue { get; set; }
[Required]
public long IdValue { get; set; }
[Required]
public decimal DecValue { get; set; }
[Required]
public long UserId { get; set; }
[Required]
@@ -36,6 +38,10 @@ namespace AyaNova.Models
public NotifyDeliveryLog()
{
Processed = DateTime.UtcNow;
IdValue=0;
DecValue=0;
AyaType=AyaType.NoType;
ObjectId=0;
}
}//eoc

View File

@@ -16,14 +16,15 @@ namespace AyaNova.Models
[Required]
public DateTime Created { get; set; }
public AyaType? AyaType { get; set; }
public long? ObjectId { get; set; }
public AyaType AyaType { get; set; }
public long ObjectId { get; set; }
[Required]
public NotifyEventType EventType { get; set; }
[Required]
public long SubscriptionId { get; set; }//source subscription that triggered this event to be created
public long? IdValue { get; set; }
public decimal? DecValue { get; set; }
[Required]
public long IdValue { get; set; }
public decimal DecValue { get; set; }
public DateTime? EventDate { get; set; }//date of the event actually occuring, e.g. WarrantyExpiry date. Duped with delivery date as source of truth in case edit to advance setting in subscription changes delivery date
public DateTime? DeliverDate { get; set; }//date user wants the event notification delivered, usually same as event date but could be set earlier if Advance setting in effect. This is the date consulted for delivery only.
public string Message { get; set; }
@@ -32,6 +33,10 @@ namespace AyaNova.Models
public NotifyEvent()
{
Created = DateTime.UtcNow;
IdValue = 0;
DecValue = 0;
AyaType=AyaType.NoType;
ObjectId=0;
}
public override string ToString()

View File

@@ -15,27 +15,34 @@ namespace AyaNova.Models
public uint Concurrency { get; set; }
[Required]
public long UserId { get; set; }
public TimeSpan? AdvanceNotice { get; set; } //Note: I've been doing nullable wrong sort of: https://stackoverflow.com/a/29149207/8939
public long? IdValue { get; set; }
public decimal? DecValue { get; set; }
public TimeSpan? AgeValue {get;set;}//for events that depend on an age of something (e.g. WorkorderStatusAge)
public long UserId { get; set; }
public TimeSpan AdvanceNotice { get; set; }
[Required]
public NotifyDeliveryMethod DeliveryMethod { get; set; }
public string DeliveryAddress { get; set; }
public long? AttachReportId { get; set; }
public long AttachReportId { get; set; }
//CONDITIONS - Following fields are all conditions set on whether to notify or not
public AyaType AyaType { get; set; }//Note: must be specific object, not global for any object related stuff to avoid many role issues and also potential overload
[Required]
public NotifyEventType EventType { get; set; }
public NotifyEventType EventType { get; set; }
[Required]
public long IdValue { get; set; }//if required, this must match, default is zero to match to not set
public decimal DecValue { get; set; }//if required this must match or be greater or something
public TimeSpan AgeValue { get; set; }//for events that depend on an age of something (e.g. WorkorderStatusAge)
public List<string> Tags { get; set; }//Tags to filter an event, object *must* have these tags to generate event related to it (AT TIME OF UPDATE)
public NotifySubscription()
{
Tags = new List<string>();
AyaType= AyaType.NoType;
Tags = new List<string>();
AyaType = AyaType.NoType;
IdValue = 0;
DecValue = 0;
AgeValue = new TimeSpan(0, 0, 0);
AdvanceNotice = new TimeSpan(0, 0, 0);
AttachReportId = 0;
}
}//eoc