Ejemplo n.º 1
0
        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);  
                }

            }

        }