// 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(); } }
// 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(); } }
public void addMensagem(string pNome, ChatIndividual pChat) { Chat.Add(pNome, pChat); }