using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Squirrowse.Core.Models; namespace Squirrowse.Service.Hubs { public class StreamManager : IStreamManager { private readonly List _users = new List(); //temporary public Task AddUser(string connectionId, string userName, ConnectionType type) { _users.Add(new User(connectionId, userName, type)); return Task.CompletedTask; } public Task RemoveUserbyConnectionId(string connectionId) { _users.Remove(_users.First(user => user.ConnectionId == connectionId)); return Task.CompletedTask; } public Task RemoveUserByUserName(string userName) { _users.RemoveAll(user => user.AgentName == userName); return Task.CompletedTask; } public IEnumerable getServerSideUsers() { return _users.Where(user => user.UserType == ConnectionType.Server); } public IEnumerable getClientSideUsers() { return _users.Where(user => user.UserType == ConnectionType.Client); } public bool CheckUser(string userName) { return _users.Any(user => user.AgentName == userName); } public IEnumerable getAllUsers() { var t = _users; return _users; } } }