This commit is contained in:
@@ -1242,8 +1242,8 @@ namespace AyaNova.Biz
|
|||||||
WorkOrderState o = (WorkOrderState)proposedObj;
|
WorkOrderState o = (WorkOrderState)proposedObj;
|
||||||
WorkOrderStatus wos = await ct.WorkOrderStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderStatusId);
|
WorkOrderStatus wos = await ct.WorkOrderStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderStatusId);
|
||||||
|
|
||||||
// WorkOrder wo = await ct.WorkOrder.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderId);
|
// WorkOrder wo = await ct.WorkOrder.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderId);
|
||||||
string WorkorderName = (await ct.WorkOrder.AsNoTracking().Where(x => x.Id == o.WorkOrderId).Select(x => x.Serial).FirstOrDefaultAsync()).ToString();
|
var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == o.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync();
|
||||||
|
|
||||||
//## DELETED EVENTS
|
//## DELETED EVENTS
|
||||||
//A state cannot be deleted so nothing to handle that is required
|
//A state cannot be deleted so nothing to handle that is required
|
||||||
@@ -1270,7 +1270,7 @@ namespace AyaNova.Biz
|
|||||||
if (!await UserBiz.UserIsActive(sub.UserId)) continue;
|
if (!await UserBiz.UserIsActive(sub.UserId)) continue;
|
||||||
|
|
||||||
//Tag match? (will be true if no sub tags so always safe to call this)
|
//Tag match? (will be true if no sub tags so always safe to call this)
|
||||||
if (NotifyEventHelper.ObjectHasAllSubscriptionTags(proposedObj.Tags, sub.Tags))
|
if (NotifyEventHelper.ObjectHasAllSubscriptionTags(WorkorderInfo.Tags, sub.Tags))
|
||||||
{
|
{
|
||||||
NotifyEvent n = new NotifyEvent()
|
NotifyEvent n = new NotifyEvent()
|
||||||
{
|
{
|
||||||
@@ -1279,7 +1279,7 @@ namespace AyaNova.Biz
|
|||||||
AyaType = AyaType.WorkOrder,
|
AyaType = AyaType.WorkOrder,
|
||||||
ObjectId = o.WorkOrderId,
|
ObjectId = o.WorkOrderId,
|
||||||
NotifySubscriptionId = sub.Id,
|
NotifySubscriptionId = sub.Id,
|
||||||
Name = WorkorderName
|
Name = WorkorderInfo.Serial.ToString()
|
||||||
};
|
};
|
||||||
await ct.NotifyEvent.AddAsync(n);
|
await ct.NotifyEvent.AddAsync(n);
|
||||||
log.LogDebug($"Adding NotifyEvent: [{n.ToString()}]");
|
log.LogDebug($"Adding NotifyEvent: [{n.ToString()}]");
|
||||||
@@ -1292,15 +1292,15 @@ namespace AyaNova.Biz
|
|||||||
{
|
{
|
||||||
//WorkorderStatusAge = 24,//* Workorder STATUS unchanged for set time (stuck in state), conditional on: Duration (how long stuck), exact status selected IdValue, Tags. Advance notice can NOT be set
|
//WorkorderStatusAge = 24,//* Workorder STATUS unchanged for set time (stuck in state), conditional on: Duration (how long stuck), exact status selected IdValue, Tags. Advance notice can NOT be set
|
||||||
//Always clear any old ones for this object as they are all irrelevant the moment the state has changed:
|
//Always clear any old ones for this object as they are all irrelevant the moment the state has changed:
|
||||||
await NotifyEventHelper.ClearPriorEventsForObject(ct, proposedObj.AyaType, proposedObj.Id, NotifyEventType.WorkorderStatusAge);
|
await NotifyEventHelper.ClearPriorEventsForObject(ct, proposedObj.AyaType, proposedObj.Id, NotifyEventType.WorkorderStatusAge);
|
||||||
var subs = await ct.NotifySubscription.Where(z => z.EventType == NotifyEventType.WorkorderStatusAge && z.IdValue == o.WorkOrderStatusId).ToListAsync();
|
var subs = await ct.NotifySubscription.Where(z => z.EventType == NotifyEventType.WorkorderStatusAge && z.IdValue == o.WorkOrderStatusId).ToListAsync();
|
||||||
foreach (var sub in subs)
|
foreach (var sub in subs)
|
||||||
{
|
{
|
||||||
//not for inactive users
|
//not for inactive users
|
||||||
if (!await UserBiz.UserIsActive(sub.UserId)) continue;
|
if (!await UserBiz.UserIsActive(sub.UserId)) continue;
|
||||||
|
|
||||||
//Tag match? (will be true if no sub tags so always safe to call this)
|
//WorkOrder Tag match? (Not State, state has no tags, will be true if no sub tags so always safe to call this)
|
||||||
if (NotifyEventHelper.ObjectHasAllSubscriptionTags(proposedObj.Tags, sub.Tags))
|
if (NotifyEventHelper.ObjectHasAllSubscriptionTags(WorkorderInfo.Tags, sub.Tags))
|
||||||
{
|
{
|
||||||
NotifyEvent n = new NotifyEvent()
|
NotifyEvent n = new NotifyEvent()
|
||||||
{
|
{
|
||||||
@@ -1309,7 +1309,7 @@ namespace AyaNova.Biz
|
|||||||
AyaType = AyaType.WorkOrder,
|
AyaType = AyaType.WorkOrder,
|
||||||
ObjectId = o.WorkOrderId,
|
ObjectId = o.WorkOrderId,
|
||||||
NotifySubscriptionId = sub.Id,
|
NotifySubscriptionId = sub.Id,
|
||||||
Name = WorkorderName
|
Name = WorkorderInfo.Serial.ToString()
|
||||||
};
|
};
|
||||||
await ct.NotifyEvent.AddAsync(n);
|
await ct.NotifyEvent.AddAsync(n);
|
||||||
log.LogDebug($"Adding NotifyEvent: [{n.ToString()}]");
|
log.LogDebug($"Adding NotifyEvent: [{n.ToString()}]");
|
||||||
|
|||||||
Reference in New Issue
Block a user