diff --git a/Mango.Nop.Services/IMgSessionService.cs b/Mango.Nop.Services/IMgSessionService.cs index ef72c05..77a26c8 100644 --- a/Mango.Nop.Services/IMgSessionService.cs +++ b/Mango.Nop.Services/IMgSessionService.cs @@ -11,4 +11,6 @@ public interface IMgSessionService where TSessionItem : IMgSession public bool TryGetSessionItem(string sessionId, out TSessionItem sessionItem); public bool TryRemoveSessionItem(string sessionId, out TSessionItem sessionItem); public int Count(); + + bool TryGetSessionItemBySignlaRConnectionId(string signalRConnectionId, out TSessionItem? sessionItem); } \ No newline at end of file diff --git a/Mango.Nop.Services/MgSessionService.cs b/Mango.Nop.Services/MgSessionService.cs index acedf10..06968f7 100644 --- a/Mango.Nop.Services/MgSessionService.cs +++ b/Mango.Nop.Services/MgSessionService.cs @@ -37,4 +37,10 @@ public abstract class MgSessionService : IMgSessionService Sessions.Count; + + public bool TryGetSessionItemBySignlaRConnectionId(string signalRConnectionId, out TSessionItem? sessionItem) + { + sessionItem = Sessions.Values.FirstOrDefault(x => x.SignaRConnectionId == signalRConnectionId); + return sessionItem != null; + } } \ No newline at end of file