@@ -39,6 +39,7 @@ public class MemberRepository : ContentRepositoryBase<int, IMember, MemberReposi
3939 private readonly ITagRepository _tagRepository ;
4040 private bool _passwordConfigInitialized ;
4141 private string ? _passwordConfigJson ;
42+ private const string UsernameCacheKey = "uRepo_userNameKey+" ;
4243
4344 public MemberRepository (
4445 IScopeAccessor scopeAccessor ,
@@ -326,7 +327,7 @@ public override IEnumerable<IMember> GetPage(
326327 }
327328
328329 public IMember ? GetByUsername ( string ? username ) =>
329- _memberByUsernameCachePolicy . GetByUserName ( "uRepo_userNameKey+" , username , PerformGetByUsername , PerformGetAllByUsername ) ;
330+ _memberByUsernameCachePolicy . GetByUserName ( UsernameCacheKey , username , PerformGetByUsername , PerformGetAllByUsername ) ;
330331
331332 public int [ ] GetMemberIds ( string [ ] usernames )
332333 {
@@ -606,6 +607,12 @@ protected virtual Sql<ISqlContext> GetBaseQuery(QueryType queryType, bool curren
606607 return sql ;
607608 }
608609
610+ protected override void PersistDeletedItem ( IMember entity )
611+ {
612+ _memberByUsernameCachePolicy . DeleteByUserName ( UsernameCacheKey , entity . Username ) ;
613+ base . PersistDeletedItem ( entity ) ;
614+ }
615+
609616 // TODO: move that one up to Versionable! or better: kill it!
610617 protected override Sql < ISqlContext > GetBaseQuery ( bool isCount ) =>
611618 GetBaseQuery ( isCount ? QueryType . Count : QueryType . Single ) ;
@@ -936,6 +943,8 @@ protected override void PersistUpdatedItem(IMember entity)
936943
937944 OnUowRefreshedEntity ( new MemberRefreshNotification ( entity , new EventMessages ( ) ) ) ;
938945
946+ _memberByUsernameCachePolicy . DeleteByUserName ( UsernameCacheKey , entity . Username ) ;
947+
939948 entity . ResetDirtyProperties ( ) ;
940949 }
941950
0 commit comments