fix(workorders): filter inactive services by current name

This commit is contained in:
Alexandre Brandizzi 2026-09-30 16:47:12 -03:00
parent c2e29abb5d
commit aede3148d1
2 changed files with 14 additions and 5 deletions

View file

@ -269,7 +269,9 @@ namespace SeaHaven.DataServices.Helpers
&& w.ServiceDefinition.IsActive && w.ServiceDefinition.IsActive
&& w.ServiceDefinition.IsDeleted != true && w.ServiceDefinition.IsDeleted != true
? (w.ServiceDefinition.Name ?? "").ToLower().Contains(pm) ? (w.ServiceDefinition.Name ?? "").ToLower().Contains(pm)
: (w.ServiceNameSnapshot ?? w.Trade ?? w.Problem ?? "").ToLower().Contains(pm)) : ((w.ServiceDefinition != null
&& (w.ServiceDefinition.Name ?? "").ToLower().Contains(pm))
|| (w.ServiceNameSnapshot ?? w.Trade ?? w.Problem ?? "").ToLower().Contains(pm)))
: (w.Trade ?? "").ToLower().Contains(pm) : (w.Trade ?? "").ToLower().Contains(pm)
|| (w.Problem ?? "").ToLower().Contains(pm))); || (w.Problem ?? "").ToLower().Contains(pm)));
} }

View file

@ -33,11 +33,11 @@ public sealed class WorkOrderServiceRegistryFilterRelationalTests
new Service new Service
{ {
Id = 20, Id = 20,
Name = "Current Inactive Name", Name = "Original Inactive Name",
NormalizedName = "CURRENT INACTIVE NAME", NormalizedName = "ORIGINAL INACTIVE NAME",
Trade = "Electrical", Trade = "Electrical",
IconKey = "electrical", IconKey = "electrical",
IsActive = false IsActive = true
}); });
context.workOrders.AddRange( context.workOrders.AddRange(
new WorkOrder new WorkOrder
@ -62,6 +62,13 @@ public sealed class WorkOrderServiceRegistryFilterRelationalTests
}); });
await context.SaveChangesAsync(); await context.SaveChangesAsync();
var renamedService = await context.Services.SingleAsync(service => service.Id == 20);
renamedService.Name = "Current Inactive Name";
renamedService.NormalizedName = "CURRENT INACTIVE NAME";
await context.SaveChangesAsync();
renamedService.IsActive = false;
await context.SaveChangesAsync();
var activeRows = await WorkOrderBoardProjection.ProjectRowsAsync( var activeRows = await WorkOrderBoardProjection.ProjectRowsAsync(
context, context,
context.workOrders.AsNoTracking().Where(w => w.Id == 1), context.workOrders.AsNoTracking().Where(w => w.Id == 1),
@ -123,7 +130,7 @@ public sealed class WorkOrderServiceRegistryFilterRelationalTests
"legacy-display=Legacy Cooling", "legacy-display=Legacy Cooling",
"active-filter=1", "active-filter=1",
"inactive-snapshot-filter=2", "inactive-snapshot-filter=2",
"inactive-current-name-filter=", "inactive-current-name-filter=2",
"legacy-trade-filter=3", "legacy-trade-filter=3",
"legacy-problem-filter=3" "legacy-problem-filter=3"
}); });