Example #1
0
        public PartialViewResult GetInQueue(int id)
        {
            Queue queue = _queueRepository.GetIn(HttpContext.User.Identity.Name, id, StatesClient.Wait);

            var context = GlobalHost.ConnectionManager.GetHubContext <QueueHub>();

            string connectionId = _hub.GetConnectionIdByLogin(HttpContext.User.Identity.Name);

            if (!string.IsNullOrEmpty(connectionId))
            {
                context.Clients.Client(connectionId).disabledBtnInQueue();
            }
            ;

            if (queue.StateClient == StatesClient.Welcom)
            {
                context.Clients.All.addClientInQueue(queue.PrevId, queue.Id, queue.Number, queue.Operation.Name,
                                                     queue.Client.Name, (queue.StateClient == StatesClient.WaitExtra), "queueWelcom");
                CallClientTimer(queue);
            }
            else
            {
                context.Clients.All.changeCountClients(queue.Operation.CountClients, queue.Operation.Id);
                context.Clients.All.addClientInQueue(queue.PrevId, queue.Id, queue.Number, queue.Operation.Name,
                                                     queue.Client.Name, (queue.StateClient == StatesClient.WaitExtra), "queueWait");
            };

            return(PartialView("MainClient", queue));
        }