/// <summary>
        /// adiciona dados a um historico de solicitação de orçamento
        /// </summary>
        private void SalvarSolicitacaoOrcamentoHistorico()
        {
            SolicitacaoOrcamentoHistorico soh = new SolicitacaoOrcamentoHistorico(Session)
            {
                SolicitacaoOrcamento = this,
                ResponsavelHistorico = Responsavel,
                AtualizadoPor        = Colaborador.GetColaboradorCurrent(Session),
                Situacoes            = Situacao,
                Comentario           = TxUltimoComentario,
                DataHora             = DateUtil.ConsultarDataHoraAtual()
            };

            soh.Save();
        }
        /// <summary>
        /// Envio de email
        /// </summary>
        /// <returns>True se o email foi enviado e False se não foi</returns>
        private bool EnviarEmails()
        {
            try
            {
                // Dados não obrigatórios para inserção no email
                string tipoSolic;
                string reposit;
                string desc;
                string obs;

                if (TipoSolicitacao != null)
                {
                    tipoSolic = TipoSolicitacao.TxDescricao;
                }
                else
                {
                    tipoSolic = "<i>Não informado</i>";
                }

                if (!string.IsNullOrEmpty(TxRepositorio))
                {
                    reposit = TxRepositorio;
                }
                else
                {
                    reposit = "<i>Não informado</i>";
                }

                if (!string.IsNullOrEmpty(TxDescricao))
                {
                    desc = TxDescricao;
                }
                else
                {
                    desc = "<i>Não informada</i>";
                }

                if (!string.IsNullOrEmpty(TxObservacao))
                {
                    obs = TxObservacao;
                }
                else
                {
                    obs = "<i>Não informada</i>";
                }

                MailMessage mail = new MailMessage()
                {
                    From = new MailAddress(Solicitante.Email, "WexProject")
                };
                mail.To.Add(new MailAddress(Responsavel.Usuario.Email, Responsavel.Usuario.FullName));

                // Emails com cópia
                foreach (string cc in TxCc.Split(';'))
                {
                    if (!string.IsNullOrEmpty(cc))
                    {
                        mail.CC.Add(cc);
                    }
                }

                // Emails com cópia oculta
                foreach (string cco in TxCco.Split(';'))
                {
                    if (!string.IsNullOrEmpty(cco))
                    {
                        mail.Bcc.Add(cco);
                    }
                }

                mail.Subject    = GerarAssuntoEmailSeot();
                mail.IsBodyHtml = true;

                // Corpo do email
                string       body;
                const string Separador     = "<br style='clear: both;'>";
                string       styleFonte    = "font-family: Arial; font-size: 12px;";
                string       styleDivTitle = "style='background-color: #006600; color: #FFFFFF; text-align: left;";
                styleDivTitle += "font-weight: bold; width: 100%; margin: 0px; padding: 3px;'";

                body = String.Format("<div style='width: 100%; {0}'>", styleFonte);

                //Informação Mais Recente

                var ultimo_historico = SolicitacaoOrcamentoHistorico.GetUltimoHistorico(this);

                body += String.Format("<div {0}>Informação Mais Recente</div>", styleDivTitle);
                body += String.Format("{0}<b>Situação:</b> {1}", Separador, Situacao.TxDescricao);
                body += String.Format("{0}<b>Comentário:</b> {1}", Separador, ultimo_historico.Comentario);
                body += String.Format("{0}<b>Data/Hora:</b> {1}", Separador, ultimo_historico.DataHora.ToString("dd/MM/yyyy hh:mm"));
                body += String.Format("{0}<b>Alterado Por:</b> {1} {2}", Separador, ultimo_historico.AtualizadoPor.Usuario.FullName, Separador);
                // Dados Gerais
                body += String.Format("{0}<div {1}>Dados Gerais</div>", Separador, styleDivTitle);
                body += String.Format("{0}<b>Solicitante:</b> {1}", Separador, _Solicitante);
                body += String.Format("{0}<b>Responsável:</b> {1} ({2})", Separador, Responsavel.Usuario.FullName, Responsavel.Usuario.UserName);
                body += String.Format("{0}<b>Tipo:</b> {1}", Separador, tipoSolic);
                body += String.Format("{0}<b>Prioridade:</b> {1} {2}", Separador, EnumUtil.DescricaoEnum(CsPrioridade), Separador);
                // Dados da Solicitação de Orçamento
                body += String.Format("{0}<div {1}>Dados da Solicitação de Orçamento</div>", Separador, styleDivTitle);
                body += String.Format("{0}<b>Código:</b> {1}", Separador, TxCodigo);
                body += String.Format("{0}<b>Título:</b> {1}", Separador, TxTitulo);
                body += String.Format("{0}<b>Prazo:</b> {1}", Separador, DtPrazo.ToString("dd/MM/yyyy"));
                body += String.Format("{0}<b>Repositório:</b> {1} {2}", Separador, reposit, Separador);
                // Dados do Cliente
                body += String.Format("{0}<div {1}>Dados do Cliente</div>", Separador, styleDivTitle);
                body += String.Format("{0}<b>Cliente:</b> {1}", Separador, Cliente.TxNome);
                body += String.Format("{0}<b>Nome:</b> {1}", Separador, TxContatoCliente);
                body += String.Format("{0}<b>E-mail:</b> {1}", Separador, TxEmailContatoCliente);
                body += String.Format("{0}<b>Fone/Fax:</b> {1} {2}", Separador, TxFone, Separador);

                // Outros
                body += String.Format("{0}<div {1}>Outros</div>", Separador, styleDivTitle);
                body += String.Format("{0}<b>Descrição:</b> {1}", Separador, desc);
                body += String.Format("{0}<b>Observação:</b> {1} {2}", Separador, obs, Separador);

                // Tabela Histórico
                string stylePositionTable = "position: relative;left: -1.7px;top: -1px;right: -50px;";
                body += String.Format("{0}<div {1}>Histórico</div>", Separador, styleDivTitle);
                body += String.Format("<table style='width: 100%;{0};'><tbody><tr {1}>", stylePositionTable, styleDivTitle);
                body += String.Format("<td><div style='{0}'>Data/Hora</div></td>", styleFonte + "color: #FFFFFF;");
                body += String.Format("<td><div style='{0}'>Situação</div></td>", styleFonte + "color: #FFFFFF;");
                body += String.Format("<td><div style='{0}'>Responsavél</div></td>", styleFonte + "color: #FFFFFF;");
                body += String.Format("<td><div style='{0}'>Comentário</div></td>", styleFonte + "color: #FFFFFF;");
                body += String.Format("<td><div style='{0}'>Alterado Por</div></td></tr>", styleFonte + "color: #FFFFFF;");

                /*body += String.Format("{0}<table style='width: 100%;{1}'><tbody><tr {2}>", Separador, styleFonte, styleDivTitle);
                 * body += "<td>Data/Hora</td>";
                 * body += "<td>Situação</td>";
                 * body += "<td>Responsavél</td>";
                 * body += "<td>Comentário</td>";
                 * body += "<td>Alterado Por</td></tr>";*/

                foreach (SolicitacaoOrcamentoHistorico soh in SolicitacaoOrcamentoHistoricos)
                {
                    body += "<tr>";
                    body += String.Format("<td>{0}</td>", soh.DataHora.ToString("dd/MM/yyyy HH:mm"));
                    body += String.Format("<td>{0}</td>", soh.Situacoes);
                    body += String.Format("<td>{0}</td>", soh.ResponsavelHistorico);
                    body += String.Format("<td>{0}</td>", soh.Comentario);

                    if (soh.AtualizadoPor != null)
                    {
                        body += String.Format("<td>{0}</td>", soh.AtualizadoPor.ToString());
                    }
                    else
                    {
                        body += String.Format("<td>{0}</td>", string.Empty);
                    }

                    body += "</tr>";
                }

                body += "</tbody></table></div>";

                mail.Body  = body;
                textoEmail = body;

                SmtpClient smtp = new SmtpClient("fpfmail.dom.fpf.br", 25)
                {
                    EnableSsl = false
                };
                smtp.Send(mail);

                return(true);
            }
            catch (Exception e)
            {
                e.GetBaseException();
                return(false);
            }
        }