diff --git a/SeaHaven.Services/Implementation/WorkOrderBoardService.cs b/SeaHaven.Services/Implementation/WorkOrderBoardService.cs index 085e3db..7a7f1b7 100644 --- a/SeaHaven.Services/Implementation/WorkOrderBoardService.cs +++ b/SeaHaven.Services/Implementation/WorkOrderBoardService.cs @@ -138,7 +138,7 @@ namespace SeaHaven.Services.Implementation TechPhone = row.TechPhone, ApptDate = row.DispatchApptDate ?? row.ScheduledDate, ApptTime = WorkOrderDerivedFields.FormatApptTime(apptStart, apptEnd), - Pm = row.ServiceNameSnapshot ?? row.Trade ?? row.Problem, + Pm = row.Trade ?? row.ServiceNameSnapshot ?? row.Problem, ServiceNotes = row.ServiceNotes, ExtraServices = ParseExtraServices(row.ExtraServices), AdditionalContacts = MapAdditionalContacts(row), diff --git a/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs b/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs index 9e35213..96acd1b 100644 --- a/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs +++ b/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs @@ -1043,6 +1043,24 @@ public class WorkOrderBoardServiceTests Assert.Equal("09:00", dto.ApptTime); } + [Fact] + public void MapRawRow_PmEditTakesPrecedenceOverServiceSnapshot() + { + var row = RawRow( + scheduledDate: new DateTime(2026, 6, 23), + scheduledStart: null, + scheduledEnd: null, + dispatchApptDate: null) with + { + Trade = "Updated service label", + ServiceNameSnapshot = "Original service label" + }; + + var dto = WorkOrderBoardService.MapRawRow(row, DateTime.UtcNow); + + Assert.Equal("Updated service label", dto.Pm); + } + private static WorkOrderBoardRawRow RawRow( DateTime? scheduledDate, DateTime? scheduledStart,