Пример #1
0
 /// <summary>
 /// Construtor de uma Response
 /// </summary>
 /// <param name="operacao">Operação</param>
 /// <param name="utilizador">Utilizador que a cria</param>
 /// <param name="mensagem">Mensagem da Response</param>
 /// <param name="historicoChat">
 ///     Lista com todas as mensagens de um chat (utilizado só quando um Utilizador abre um separador de chat)
 /// </param>
 public Response(Operation operacao, Utilizador utilizador, Mensagem mensagem = null,
                 List <Mensagem> historicoChat = null)
 {
     Operacao      = operacao;
     Utilizador    = utilizador;
     Mensagem      = mensagem;
     HistoricoChat = historicoChat;
 }
Пример #2
0
        /// <summary>
        /// Guarda um Utilizador no ficheiro (registo)
        /// </summary>
        /// <param name="utilizador">Utilizador a guardar</param>
        /// <returns>Utilizador acabado de guardar</returns>
        public static Utilizador SaveUserInFile(Utilizador utilizador)
        {
            // Atribuir Id (+1 do que o último atribuído)
            utilizador.Id = File.ReadLines(UsersFilePath).Count() + 1;
            // Cria/Abre ficheiro para escrever
            using (StreamWriter sw = !File.Exists(UsersFilePath)
                ? File.CreateText(UsersFilePath)
                : File.AppendText(UsersFilePath))
            {
                sw.WriteLine(JsonConvert.SerializeObject(utilizador));
            }

            return(utilizador);
        }
Пример #3
0
        /// <summary>
        /// Verifica se um Utilizador está registado
        /// </summary>
        /// <param name="utilizador">Utilizador a verificar</param>
        /// <returns>
        ///     null -> Utilizador não está registado;
        ///     Utilizador -> Utilizador está registado.
        /// </returns>
        public static Utilizador GetRegisteredUser(Utilizador utilizador)
        {
            using (StreamReader streamReader = new StreamReader(UsersFilePath))
            {
                string line;
                while ((line = streamReader.ReadLine()) != null)
                {
                    if (!line.Contains(utilizador.Email))
                    {
                        continue;
                    }
                    return(JsonConvert.DeserializeObject <Utilizador>(line));
                }
            }

            return(null);
        }
Пример #4
0
        /// <summary>
        /// Verifica se um determinado Utilizador está online
        /// </summary>
        /// <param name="clientesConectados">Lista de Utilizadores conectados</param>
        /// <param name="utilizadorVerificar">Utilizador a verificar</param>
        /// <returns>
        ///     null -> Utilizador não está online;
        ///     Utilizador -> Utilizador está online.
        /// </returns>
        public static Utilizador GetUserConnected(List <Cliente> clientesConectados, Utilizador utilizadorVerificar)
        {
            Utilizador utilizadorEncontrado = null;

            clientesConectados.ForEach(clienteConectado =>
            {
                if (clienteConectado.User == null)
                {
                    return;
                }
                if (clienteConectado.User.Email != utilizadorVerificar.Email)
                {
                    return;
                }
                if (clienteConectado.User.IsOnline)
                {
                    utilizadorEncontrado = clienteConectado.User;
                }
            });
            return(utilizadorEncontrado);
        }
Пример #5
0
 /// <summary>
 /// Construtor de um Cliente
 /// </summary>
 /// <param name="user">Utilizador</param>
 /// <param name="tcpClient">Conexão TCP</param>
 public Cliente(Utilizador user, TcpClient tcpClient)
 {
     User      = user;
     TcpClient = tcpClient;
 }