public static List <LeaderBoardItem> GetLeaderBoard(string centerId)
        {
            List <LeaderBoardItem> leaderBoard = new List <LeaderBoardItem>();
            List <AgentInfo>       agents      = AgentReader.GetAgentItems(centerId);

            int rank = 0;

            foreach (AgentInfo agent in agents.OrderByDescending(a => a.Points))
            {
                leaderBoard.Add(new LeaderBoardItem()
                {
                    Name          = agent.AgentName,
                    TotalPoints   = agent.Points,
                    PhotoFileName = agent.PhotoFileName,
                    Rank          = ++rank
                });

                if (rank >= 10)
                {
                    break;
                }
            }

            return(leaderBoard);
        }
Ejemplo n.º 2
0
        public static EngagementResult GetEngagement(EngagementRequest request)
        {
            EngagementResult result = new EngagementResult();

            string agentId   = request.AgentId;
            var    agentItem = AgentReader.GetAgentItems().First(i => i.AgentId.Equals(agentId, StringComparison.OrdinalIgnoreCase));

            string[] queues  = agentItem.QueueList;
            string   queueId = queues[0];

            QueueItem queueItem = QueueReader.GetQueueItems().First(q => q.QueueId.Equals(queueId, StringComparison.OrdinalIgnoreCase));

            AgentEngagementManager engagementManager = new AgentEngagementManager();
            int freeMinutes = engagementManager.CalculateFreeMinutes(agentId, queueItem);

            result.FreeMinutes = freeMinutes;
            result.Items       = EngagementReader.GetEngagementItems(freeMinutes);

            return(result);
        }