This commit is contained in:
2020-08-18 19:26:40 +00:00
parent 611547a7bc
commit f548b01a5f
2 changed files with 20 additions and 12 deletions

View File

@@ -193,18 +193,21 @@ namespace AyaNova.Biz
//OutsideServiceOverdue
//OutsideServiceReceived https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/892
//PartRequestReceived https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/892
//CustomerServiceImminent
//CustomerServiceImminent ALSO CopyOfCustomerNotification
//WorkorderCreatedForCustomer (conditional ID sb customer id) ALSO CopyOfCustomerNotification
//PartRequested https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/892
//WorkorderTotalExceedsThreshold
//WorkorderStatusAge
}
break;
case AyaType.Quote:
//QuoteStatusChange
//QuoteStatusChange [USER, CUSTOMER] / ALSO CopyOfCustomerNotification
//QuoteStatusAge
break;
case AyaType.Contract:
//ContractExpiring
//ContractExpiring [CUSTOMER/USER]
//CopyOfCustomerNotification
break;
case AyaType.Reminder:
//ReminderImminent
@@ -250,6 +253,7 @@ namespace AyaNova.Biz
//------------------------------------------
//ObjectCreated
//
// [USER for any type, CUSTOMER for workorder only] / if customer then CopyOfCustomerNotification
{
var subs = await ct.NotifySubscription.Where(z => z.EventType == NotifyEventType.ObjectCreated && z.AyaType == newObject.AyaType).ToListAsync();
foreach (var sub in subs)
@@ -284,7 +288,8 @@ namespace AyaNova.Biz
//AyaTypes with their own special notification related events
case AyaType.WorkOrder:
{
//WorkorderStatusChange
//WorkorderStatusChange [USER, CUSTOMER BOTH] / CopyOfCustomerNotification
//
{
throw new System.NotImplementedException("Awaiting workorder object completion");
// if (((WorkOrder)newObject).WorkorderStatusId != ((WorkOrder)dbObject).WorkorderStatusId)
@@ -325,16 +330,17 @@ namespace AyaNova.Biz
//ScheduledOnWorkorderImminent (DELTE OLD)
//https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/892
//WorkorderFinishStatusOverdue (DELETE OLD)
//WorkorderFinished
//WorkorderFinished [USER, CUSTOMER] ALSO CopyOfCustomerNotification applies here
//OutsideServiceOverdue (ALSO DELETE OLD)
//OutsideServiceReceived
//PartRequestReceived
//CustomerServiceImminent (ALSO DELETE OLD)
//CustomerServiceImminent (ALSO DELETE OLD) / ALSO CopyOfCustomerNotification
//PartRequested
//https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/892
//WorkorderTotalExceedsThreshold
//WorkorderStatusAge (ALSO DELETE OLD)
//https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/1137
//WorkorderFinishedFollowUp (uses AGE after finished status) [USER, CUSTOMER] ALSO CopyOfCustomerNotification applies here
}
break;
@@ -358,8 +364,9 @@ namespace AyaNova.Biz
// In saving code it just checks to see if it has crossed the multiple threshold, i.e. calculate the old multiple, calculate the new multiple if over then send notification immediate.
break;
case AyaType.CustomerServiceRequest:
//CSRAccepted (DELETE OLD might have changed from one to the other)
//CSRRejected (DELETE OLD might have changed from one to the other)
//CSRAccepted (DELETE OLD might have changed from one to the other) [CUSTOMER]
//CSRRejected (DELETE OLD might have changed from one to the other) [CUSTOMER]
//CopyOfCustomerNotification
break;
case AyaType.ServiceBank:
//ServiceBankDepleted https://rockfish.ayanova.com/default.htm#!/rfcaseEdit/472
@@ -434,7 +441,7 @@ namespace AyaNova.Biz
//------------------------------
// Delete any NotifyEvent records for this exact object
// It's gone and shouldn't have any events left for it
//
// NOTE: this is expected to cover all created / modified events above in terms of reversing them if they're still around for whatever reason
{
var deleteList = await ct.NotifyEvent.Where(z => z.ObjectId == newObject.Id && z.AyaType == newObject.AyaType).ToListAsync();
if (deleteList.Count > 0)

View File

@@ -17,7 +17,7 @@ namespace AyaNova.Biz
ContractExpiring = 5,//* Contract object, aged notification with optional advance notice for expiration date of contract. Customer version and User version deliveries possible.
CSRAccepted = 6,//*CustomerServiceRequest object, saved with ACCEPTED status, delivered to Customer only
CSRRejected = 7,//*CustomerServiceRequest object, saved with REJECTED status, delivered to Customer only
DEPRECATED_8 = 8,//UNUSED, FILL IN LATER WITH NEXT NEW NOTIFICATION EVENT
CopyOfCustomerNotification = 8,//*User notification of what was sent to a Customer as a notification. In other words can subscribe to any customer notifications and be sent a copy of them. Tag filter is based on Customer's tags for this one so user can choose which customer group to subscribe to this or all.
QuoteStatusChange = 9,//* Quote object, any *change* of status including from no status (new) to a specific conditional status ID value
ObjectAge = 10,//* Any object, Age (conditional on AgeValue) after creation event of any object of conditional specific AyaType and optionally conditional tags
ServiceBankDepleted = 11,//*ServiceBank object, any change to balance triggers this check, conditional on decvalue as remaining balance left to trigger this notification
@@ -39,8 +39,9 @@ namespace AyaNova.Biz
GeneralNotification = 27,//* NO OBJECT old quick notification, refers now to any direct text notification internal or user to user used for system notifications (default delivers in app but user can opt to also get email)
ServerOperationsProblem = 28,//* NO OBJECT and serious issue with server operations requiring intervention,
QuoteStatusAge = 29,//* Quote object Created / Updated, conditional on exact status selected IdValue, Tags conditional, advance notice can be set
WorkorderFinished = 30 //*Service work order is set to any status that is flagged as a "Finished" type of status
WorkorderFinished = 30, //*Service work order is set to any status that is flagged as a "Finished" type of status
WorkorderCreatedForCustomer = 31, //*Service work order is created for Customer, only applies to that customer user notify sub for that customer, customer id is in conditional ID value for subscription
WorkorderFinishedFollowUp = 32 //* Service workorder closed status follow up again after this many TIMESPAN, for CUSTOMER AND USER
//NEW ITEMS REQUIRE translation KEYS