public void DeleteDraftApprenticeship(long draftApprenticeshipId, Party modifyingParty, UserInfo userInfo) { CheckIsWithParty(modifyingParty); var draftApprenticeship = DraftApprenticeships.Single(x => x.Id == draftApprenticeshipId); StartTrackingSession(UserAction.DeleteDraftApprenticeship, modifyingParty, EmployerAccountId, ProviderId, userInfo); ChangeTrackingSession.TrackUpdate(this); RemoveDraftApprenticeship(draftApprenticeship); LastUpdatedOn = DateTime.UtcNow; Approvals = Party.None; ResetTransferSenderRejection(); if (!DraftApprenticeships.Any()) { MarkAsDeletedAndEmitCohortDeletedEvent(modifyingParty, userInfo); } ChangeTrackingSession.CompleteTrackingSession(); }