public void Send(string groupName, string message) { Clients.All.regroup(); var us = UserHandler.User.Where(x => x.GroupName == groupName); ProfileRepository rep = new ProfileRepository(); rep.SetDbName(groupName); int users = 0; try { users = rep.GetSingle(groupName).Modules.FirstOrDefault(x => x.CodModule == message).Users??0; } catch (Exception) { } if (us!=null && us.Count() > users && users !=0) { //estraggo i più vecchi e ciclo fino ad avere un numero di client var usToDisc = UserHandler.User.Where(x => x.GroupName == groupName).OrderBy(x=>x.TimeConnection).ToArray(); for (int i = 0; i < usToDisc.Count() - 2; i++) { Clients.Client(usToDisc[i].ConnectedIds).forceDisconnection(message); } } }