diff --git a/TeachingRecordSystem/src/TeachingRecordSystem.Core/EventHandlers/CreateLegacySupportTaskEvents.cs b/TeachingRecordSystem/src/TeachingRecordSystem.Core/EventHandlers/CreateLegacySupportTaskEvents.cs index 6883d3440d..092701b88c 100644 --- a/TeachingRecordSystem/src/TeachingRecordSystem.Core/EventHandlers/CreateLegacySupportTaskEvents.cs +++ b/TeachingRecordSystem/src/TeachingRecordSystem.Core/EventHandlers/CreateLegacySupportTaskEvents.cs @@ -236,51 +236,59 @@ public async Task HandleEventAsync(SupportTaskUpdatedEvent @event, ProcessContex } else if (processContext.ProcessType is ProcessType.ChangeOfDateOfBirthRequestApproving) { - var personDetailsUpdatedEvent = processContext.Events.OfType().Single(); - var supportTask = (await dbContext.SupportTasks.FindAsync(@event.SupportTask.SupportTaskReference))!; - var supportTaskData = supportTask.GetData(); + var personDetailsUpdatedEvent = processContext.Events.OfType().SingleOrDefault(); - var legacyEvent = new LegacyEvents.ChangeDateOfBirthRequestSupportTaskApprovedEvent + if (personDetailsUpdatedEvent is not null) { - PersonId = personDetailsUpdatedEvent.PersonId, - RequestData = EventModels.ChangeDateOfBirthRequestData.FromModel(supportTaskData), - Changes = LegacyEvents.ChangeDateOfBirthRequestSupportTaskApprovedEventChanges.DateOfBirth, - PersonAttributes = personDetailsUpdatedEvent.PersonDetails, - OldPersonAttributes = personDetailsUpdatedEvent.OldPersonDetails, - EventId = @event.EventId, - CreatedUtc = processContext.Now, - RaisedBy = processContext.UserId, - SupportTask = @event.SupportTask, - OldSupportTask = @event.OldSupportTask - }; - - dbContext.AddEventWithoutBroadcast(legacyEvent); + var supportTask = (await dbContext.SupportTasks.FindAsync(@event.SupportTask.SupportTaskReference))!; + var supportTaskData = supportTask.GetData(); - await dbContext.SaveChangesAsync(); + var legacyEvent = new LegacyEvents.ChangeDateOfBirthRequestSupportTaskApprovedEvent + { + PersonId = personDetailsUpdatedEvent.PersonId, + RequestData = EventModels.ChangeDateOfBirthRequestData.FromModel(supportTaskData), + Changes = LegacyEvents.ChangeDateOfBirthRequestSupportTaskApprovedEventChanges.DateOfBirth, + PersonAttributes = personDetailsUpdatedEvent.PersonDetails, + OldPersonAttributes = personDetailsUpdatedEvent.OldPersonDetails, + EventId = @event.EventId, + CreatedUtc = processContext.Now, + RaisedBy = processContext.UserId, + SupportTask = @event.SupportTask, + OldSupportTask = @event.OldSupportTask + }; + + dbContext.AddEventWithoutBroadcast(legacyEvent); + + await dbContext.SaveChangesAsync(); + } } else if (processContext.ProcessType is ProcessType.ChangeOfNameRequestApproving) { - var personDetailsUpdatedEvent = processContext.Events.OfType().Single(); - var supportTask = (await dbContext.SupportTasks.FindAsync(@event.SupportTask.SupportTaskReference))!; - var supportTaskData = supportTask.GetData(); + var personDetailsUpdatedEvent = processContext.Events.OfType().SingleOrDefault(); - var legacyEvent = new LegacyEvents.ChangeNameRequestSupportTaskApprovedEvent + if (personDetailsUpdatedEvent is not null) { - PersonId = personDetailsUpdatedEvent.PersonId, - RequestData = EventModels.ChangeNameRequestData.FromModel(supportTaskData), - Changes = (LegacyEvents.ChangeNameRequestSupportTaskApprovedEventChanges)((int)personDetailsUpdatedEvent.Changes << 16), - PersonAttributes = personDetailsUpdatedEvent.PersonDetails, - OldPersonAttributes = personDetailsUpdatedEvent.OldPersonDetails, - EventId = @event.EventId, - CreatedUtc = processContext.Now, - RaisedBy = processContext.UserId, - SupportTask = @event.SupportTask, - OldSupportTask = @event.OldSupportTask - }; - - dbContext.AddEventWithoutBroadcast(legacyEvent); + var supportTask = (await dbContext.SupportTasks.FindAsync(@event.SupportTask.SupportTaskReference))!; + var supportTaskData = supportTask.GetData(); - await dbContext.SaveChangesAsync(); + var legacyEvent = new LegacyEvents.ChangeNameRequestSupportTaskApprovedEvent + { + PersonId = personDetailsUpdatedEvent.PersonId, + RequestData = EventModels.ChangeNameRequestData.FromModel(supportTaskData), + Changes = (LegacyEvents.ChangeNameRequestSupportTaskApprovedEventChanges)((int)personDetailsUpdatedEvent.Changes << 16), + PersonAttributes = personDetailsUpdatedEvent.PersonDetails, + OldPersonAttributes = personDetailsUpdatedEvent.OldPersonDetails, + EventId = @event.EventId, + CreatedUtc = processContext.Now, + RaisedBy = processContext.UserId, + SupportTask = @event.SupportTask, + OldSupportTask = @event.OldSupportTask + }; + + dbContext.AddEventWithoutBroadcast(legacyEvent); + + await dbContext.SaveChangesAsync(); + } } } }