22using Examine ;
33using System ;
44using System . Collections . Generic ;
5+ using System . Threading ;
6+ using System . Threading . Tasks ;
57using Umbraco . Cms . Core . Web ;
68using Microsoft . Extensions . Logging ;
79using Umbraco . Cms . Core ;
1113
1214namespace SGFDevs . Dev ;
1315
14- public class SGFMemberIndexComponent : IComponent
16+ public class SGFMemberIndexComponent : IAsyncComponent
1517{
1618 private readonly IUmbracoContextFactory _umbracoContextFactory ;
1719 private readonly IExamineManager _examineManager ;
@@ -26,13 +28,14 @@ public SGFMemberIndexComponent(IUmbracoContextFactory umbracoContextFactory, IEx
2628 _memberService = memberService ;
2729 }
2830
29- public void Initialize ( )
31+ public Task InitializeAsync ( bool isRestarting , CancellationToken cancellationToken )
3032 {
3133 // Get the member index
3234 if ( ! _examineManager . TryGetIndex ( Constants . UmbracoIndexes . MembersIndexName , out IIndex index ) )
33- return ;
35+ return Task . CompletedTask ;
3436
3537 ( ( BaseIndexProvider ) index ) . TransformingIndexValues += IndexProviderTransformingIndexValues ;
38+ return Task . CompletedTask ;
3639 }
3740
3841 private void IndexProviderTransformingIndexValues ( object sender , IndexingItemEventArgs e )
@@ -90,9 +93,14 @@ private void IndexProviderTransformingIndexValues(object sender, IndexingItemEve
9093 }
9194 }
9295
93- public void Terminate ( )
96+ public Task TerminateAsync ( bool isRestarting , CancellationToken cancellationToken )
9497 {
95- throw new NotImplementedException ( ) ;
98+ if ( _examineManager . TryGetIndex ( Constants . UmbracoIndexes . MembersIndexName , out IIndex index ) )
99+ {
100+ ( ( BaseIndexProvider ) index ) . TransformingIndexValues -= IndexProviderTransformingIndexValues ;
101+ }
102+
103+ return Task . CompletedTask ;
96104 }
97105}
98106
0 commit comments