diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 87137143..549bf2a0 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -1242,8 +1242,8 @@ namespace AyaNova.Biz WorkOrderState o = (WorkOrderState)proposedObj; WorkOrderStatus wos = await ct.WorkOrderStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderStatusId); - // 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(); + // WorkOrder wo = await ct.WorkOrder.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderId); + var WorkorderInfo = await ct.WorkOrder.AsNoTracking().Where(x => x.Id == o.WorkOrderId).Select(x => new { Serial = x.Serial, Tags = x.Tags }).FirstOrDefaultAsync(); //## DELETED EVENTS //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; //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() { @@ -1279,7 +1279,7 @@ namespace AyaNova.Biz AyaType = AyaType.WorkOrder, ObjectId = o.WorkOrderId, NotifySubscriptionId = sub.Id, - Name = WorkorderName + Name = WorkorderInfo.Serial.ToString() }; await ct.NotifyEvent.AddAsync(n); 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 //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(); foreach (var sub in subs) { //not for inactive users if (!await UserBiz.UserIsActive(sub.UserId)) continue; - //Tag match? (will be true if no sub tags so always safe to call this) - if (NotifyEventHelper.ObjectHasAllSubscriptionTags(proposedObj.Tags, sub.Tags)) + //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(WorkorderInfo.Tags, sub.Tags)) { NotifyEvent n = new NotifyEvent() { @@ -1309,7 +1309,7 @@ namespace AyaNova.Biz AyaType = AyaType.WorkOrder, ObjectId = o.WorkOrderId, NotifySubscriptionId = sub.Id, - Name = WorkorderName + Name = WorkorderInfo.Serial.ToString() }; await ct.NotifyEvent.AddAsync(n); log.LogDebug($"Adding NotifyEvent: [{n.ToString()}]");