/// <summary> /// Method is used in Util.js /// </summary> /// <param name="userName"></param> public void Connect(string userName) { lock (Locker) { if (Competitors.Count + 1 > MaxCount) { Clients.Caller.onMaxCount(MaxCount); return; } if (Competitors.Any(x => string.Equals(x.Name, userName, StringComparison.OrdinalIgnoreCase))) { Clients.Caller.onAlreadyPresent(userName); return; } if (Competitors.Any(x => x.Id == Context.ConnectionId)) { return; } var newCompetitor = Competitor.NewCompetitor(Context.ConnectionId, userName); Competitors.Add(newCompetitor); Clients.Caller.onUserConnected(userName, Competitors); Clients.AllExcept(Context.ConnectionId).onUpdateUsers(Competitors); SendCurrentQuestion(); } }