Ejemplo n.º 1
0
        public void AddConnection(string email, Connection connection)
        {
            User User;

            if (ActiveUsers.TryGetValue(email, out User))
            {
                //if (User.Connections.ContainsKey(connection.ConnectionId))
                //    User.Connections[connection.ConnectionId] = connection;

                //else
                User.Connections.Add(connection.ConnectionId, connection);
            }
        }
Ejemplo n.º 2
0
        void CheckAgentAuthentication(string email, Connection connection)
        {
            var IsAgentAuthenticated = ActiveUsers.Any(u => u.Key.Equals(email) && u.Value.Connections.Any(c => c.Value.AgentIdentifier.Equals(connection.AgentIdentifier) && c.Value.IsOnline));
            var IsUserComingBack = ActiveUsers.Any(u => u.Key.Equals(email)
                                                   && !string.IsNullOrWhiteSpace(u.Value.AuthenticationCode)
                                                   && u.Value.Connections.Count > 0
                                                   && u.Value.Connections.Any(c => !c.Value.IsOnline && c.Value.AgentIdentifier.Equals(connection.AgentIdentifier)));

            if (IsAgentAuthenticated || IsUserComingBack)
                connection.IsOnline = true;

            AddConnection(email, connection);
            Cleanup(connection.ConnectionId);
        }
Ejemplo n.º 3
0
 public bool IsAuthenticated(string email, Connection connection)
 {
     CheckAgentAuthentication(email, connection);
     return IsAuthenticated(connection.ConnectionId);
 }