예제 #1
0
        // Chat individual
        public Chat(BD pBD, object pUsuario, object pAmigo, object pChat)
        {
            InitializeComponent();
            pictureBox2.Visible = false;
            pictureBox3.Visible = false;

            // Manter os dados
            grupo = null;
            bd    = pBD;

            // Logado é usuário ?
            if (pUsuario.GetType() == usuario.GetType())
            {
                usuario = (Usuario)pUsuario;
            }
            else
            {
                medico = (Medico)pUsuario;
            }

            // Logado é usuário ?
            if (pAmigo.GetType() == usuario.GetType())
            {
                amigo = (Usuario)pAmigo;
            }
            else
            {
                amigo = (Medico)pAmigo;
            }

            chat = (ChatIndividual)pChat;

            // É chat individual ?
            if (chat != null)
            {
                exibirMensagemIndividual();
            }
            else
            {
                chat = new ChatIndividual();
            }
        }
예제 #2
0
        // Método para exibir as mensagens individuais
        private void exibirMensagemIndividual()
        {
            ChatIndividual tmpChat = new ChatIndividual();

            if (usuario.getMensagem(amigo.getNome()) != null)
            {
                tmpChat = (ChatIndividual)usuario.getMensagem(amigo.getNome());
            }
            else
            {
                tmpChat = (ChatIndividual)medico.getMensagem(amigo.getNome());
            }

            panel2.Controls.Clear();

            int y = 10;

            foreach (Mensagem mensagem in tmpChat.getMensagem())
            {
                RichTextBox conteudo    = new RichTextBox();
                Mensagem    tmpMensagem = new Mensagem();
                tmpMensagem = (Mensagem)mensagem;
                Usuario usuarioMensagem = (Usuario)tmpMensagem.getUsuario();
                conteudo.Text = usuarioMensagem.getNome() + "\n" + tmpMensagem.getConteudo();

                // Design mensagens
                conteudo.Font        = new Font("Baloo Bhaijaan", 12);
                conteudo.BorderStyle = System.Windows.Forms.BorderStyle.None;

                // Cores do chat
                // É médico ?
                if (usuarioMensagem.getIdentificador() == "medico")
                {
                    // É o médio logado ?
                    if (usuarioMensagem.getEmail() == medico.getEmail())
                    {
                        conteudo.BackColor = Color.Silver;
                    }
                    else
                    {
                        conteudo.BackColor = Color.Turquoise;
                    }
                }
                else
                {
                    // É o usuário logado ?
                    if (usuarioMensagem.getEmail() == usuario.getEmail())
                    {
                        conteudo.BackColor = Color.Silver;
                    }
                    else
                    {
                        conteudo.BackColor = Color.Turquoise;
                    }
                }

                conteudo.SelectionAlignment = HorizontalAlignment.Center;
                conteudo.Width          = 250;
                conteudo.Height         = (int)(3 * conteudo.Font.Height) + conteudo.GetLineFromCharIndex(conteudo.Text.Length + 1) * conteudo.Font.Height + 1 + conteudo.Margin.Vertical;
                conteudo.SelectionStart = 0;
                conteudo.SelectionStart = conteudo.Text.Length;
                conteudo.ReadOnly       = true;

                // É médico ?
                if (usuarioMensagem.getIdentificador() == "medico")
                {
                    // É o médio logado ? (layout DIREITA)
                    if (usuarioMensagem.getEmail() == medico.getEmail())
                    {
                        int x = panel2.Width - 400;

                        if (y == 10)
                        {
                            conteudo.Location = new Point(x, y += 20);
                        }
                        else
                        {
                            conteudo.Location = new Point(x, y += 120);
                        }
                    }
                    else
                    {
                        int x = 150;

                        if (y == 10)
                        {
                            conteudo.Location = new Point(x, y += 20);
                        }
                        else
                        {
                            conteudo.Location = new Point(x, y += 120);
                        }
                    }
                }
                else
                {
                    // É o usuário logado ? (layout DIREITA)
                    if (usuarioMensagem.getEmail() == usuario.getEmail())
                    {
                        int x = panel2.Width - 400;

                        if (y == 10)
                        {
                            conteudo.Location = new Point(x, y += 20);
                        }
                        else
                        {
                            conteudo.Location = new Point(x, y += 120);
                        }
                    }
                    else
                    {
                        int x = 150;

                        if (y == 10)
                        {
                            conteudo.Location = new Point(x, y += 20);
                        }
                        else
                        {
                            conteudo.Location = new Point(x, y += 120);
                        }
                    }
                }

                panel2.Controls.Add(conteudo);
                textBox1.Clear();
            }
        }
예제 #3
0
 public void addMensagem(string pNome, ChatIndividual pChat)
 {
     Chat.Add(pNome, pChat);
 }