protected new void Page_Load(object sender, EventArgs e)
        {
            TableRow row;
            TableCell cell;

            proposta = (Proposta)Session["Proposta"];
            if (proposta == null)
            {
                Session["mensagem"] = "Proposta não encontrada.";
                disableAll();
                return;
            }

            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            if (usuarioLogado == null)
            {
                Session["mensagem"] = "Para visualizar mensagens, faça login primeiro";
                disableAll();
                return;
            }

            if ((proposta.Usuario.IdUsuario != usuarioLogado.IdUsuario) && (proposta.Desejo.Usuario.IdUsuario != usuarioLogado.IdUsuario))
            {
                Session["mensagem"] = "Você não tem permissão para visualizar mensagens para essa proposta";
                disableAll();
                return;
            }

            LinkButtonDesejo.Text = "Desejo: " + Utils.truncateString(proposta.Desejo.DescricaoCurta);
            LinkButtonProposta.Text = "Proposta feita por " + proposta.Usuario.Apelido + " às " + Utils.formatDatetimeToScreen2(proposta.DataProposta);

            if (usuarioLogado.IdUsuario == proposta.Usuario.IdUsuario)
            {
                meuPapel = Usuario.EnumQuem.PROPONENTE;
            }
            else
            {
                if (usuarioLogado.IdUsuario == proposta.Desejo.Usuario.IdUsuario)
                {
                    meuPapel = Usuario.EnumQuem.PEDINTE;
                }
            }

            ArrayList alMensagens = DataAccess.queryMensagens(proposta, null);
            if (alMensagens.Count == 0)
            {
                Session["mensagem"] = "Sem mensagens para essa proposta";
                return;
            }

            foreach (Mensagem mensagem in alMensagens)
            {
                row = new TableRow();
                
                if (mensagem.QuemPostou == meuPapel)//a mensagem é minha
                {
                    row.BackColor = System.Drawing.Color.FromArgb(200, 200, 200);

                    cell = new TableCell();
                    cell.Text = "Você às " + Utils.formatDatetimeToScreen2(mensagem.DataHoraMensagem);
                    row.Cells.Add(cell);
                    cell = new TableCell();
                    //cell.Style.Add("background-image", "url('Images/balao_esquerda.jpg')");
                    
                    cell.Text = mensagem.Texto;
                    row.Cells.Add(cell);
                    cell = new TableCell();
                    cell.BackColor = System.Drawing.Color.FromArgb(255, 255, 255);
                    row.Cells.Add(cell);
                }
                else//a mensagem é do outro. quem é o outro?
                {
                    row.BackColor = System.Drawing.Color.FromArgb(160, 160, 160);

                    cell = new TableCell();
                    cell.BackColor = System.Drawing.Color.FromArgb(255, 255, 255);
                    row.Cells.Add(cell);
                    cell = new TableCell();
                    cell.Text = mensagem.Texto;
                    row.Cells.Add(cell);
                    cell = new TableCell();

                    if (meuPapel == Usuario.EnumQuem.PEDINTE)//eu sou o pedinte. logo, o outro é p proponente:
                    {
                        cell.Text = mensagem.Proposta.Usuario.Apelido + " às " + Utils.formatDatetimeToScreen2(mensagem.DataHoraMensagem);
                    }
                    else//eu sou o proponente. logo, o outro é o pedinte:
                    {
                        cell.Text = mensagem.Proposta.Desejo.Usuario.Apelido + " às " + Utils.formatDatetimeToScreen2(mensagem.DataHoraMensagem);
                    }
                    row.Cells.Add(cell);
                }
                
                tblResultado.Rows.Add(row);
            }//foreach

            DataAccess.atualizarDataViewMensagem(proposta, meuPapel);

            lblNovaMensagem.Text = "Nova mensagem (máximo de " + Mensagem.TamanhoMaximoText.ToString() + " caracteres):";
            //TextBoxNovaMensagem.MaxLength = Mensagem.TamanhoMaximoText;
        }//Page_Load()
        protected new void Page_Load(object sender, EventArgs e)
        {
            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            if (usuarioLogado == null)
            {
                Session["mensagem"] = "É necessário fazer login para visualizar uma proposta.";
                return;
            }

            if (Request["id_proposta"] != null)
            {
                proposta = new Proposta();
                proposta.IdProposta = System.Convert.ToInt64(Request["id_proposta"]);                
            }

            if (proposta == null) proposta = (Proposta)Session["Proposta"];

            proposta.Desejo = new Desejo();//faço isso para filtrar se o desejo tiver sido deletado
            buscarProposta();

            if (proposta == null)
            {
                Session["mensagem"] = strNaoEncontrada;
                btnAceitarProposta.Visible = false;
                btnDeleteProposta.Visible = false;
                btnDesfazerAceitacao.Visible = false;
                btnVerMensagens.Visible = false;
                return;
            }

            if (proposta.Usuario.IdUsuario != usuarioLogado.IdUsuario)
            {
                if (proposta.Desejo.Usuario.IdUsuario != usuarioLogado.IdUsuario)
                {
                    Session["mensagem"] = "Somente propostas feitas por você ou para seus desejos podem ser visualizadas.";
                    return;
                }
                else
                {
                    meuPapel = Usuario.EnumQuem.PEDINTE;
                }
            }
            else
            {
                meuPapel = Usuario.EnumQuem.PROPONENTE;
            }

            LinkButtonDesejo.Text = Utils.truncateString(proposta.Desejo.DescricaoCurta);
            lblDataProposta.Text = Utils.formatDatetimeToScreen3(proposta.DataProposta);
            lblNomeUsuarioProposta.Text = proposta.Usuario.Apelido;
            lblTipoProposta.Text = proposta.TipoProposta.Descricao;
            lblValor.Text = Utils.formatDoubleToScreen(proposta.ValorProposta);

            lblNumMensagens.Text = "Essa proposta recebeu " + proposta.NumMensagens.ToString() + " mensagens.";

            btnVerMensagens.Text = "Ver mensagens / Enviar Mensagem";

            if (proposta.Desejo.IdPropostaAceita == proposta.IdProposta)//essa proposta está selecionada
            {
                lblPropostaSelecionada.Text = "Essa proposta foi selecionada.";
                btnAceitarProposta.Visible = false;
                btnDesfazerAceitacao.Visible = true;
                lblAvaliarProposta.Visible = true;
                radioButtonListAvaliacao.Visible = true;
            }
            else
            {
                if (proposta.Desejo.IdPropostaAceita < 0)//nenhuma proposta foi selecionada
                {
                    btnAceitarProposta.Visible = true;
                    btnDesfazerAceitacao.Visible = false;
                }
                else
                {
                    lblPropostaSelecionada.Text = "Uma outra proposta foi selecionada.";
                    btnAceitarProposta.Visible = true;
                    btnDesfazerAceitacao.Visible = false;
                }
            }

            if (proposta.Desejo.Usuario.IdUsuario != usuarioLogado.IdUsuario)
            {
                btnAceitarProposta.Visible = false;
                btnDesfazerAceitacao.Visible = false;
                lblAvaliarProposta.Visible = false;
                radioButtonListAvaliacao.Visible = false;
            }
        }//Page_Load()