/// <summary>
        /// Criar Log para uma Tarefa específica
        /// </summary>
        /// <param name="tarefaAtual">Objeto de Tarefa</param>
        /// <param name="tarefaAntiga">Objeto de Tarefa antes das alterações</param>
        public static void CriarLogTarefa(Tarefa tarefaAtual, Tarefa tarefaAntiga)
        {
            if (tarefaAtual == null)
            {
                return;
            }

            string        valorNovo, valorAntigo;
            StringBuilder alteracoes = new StringBuilder();

            if (tarefaAntiga == null)
            {
                alteracoes.Append("Criação da tarefa\n");
            }
            else
            {
                if (tarefaAtual.TxDescricao != tarefaAntiga.TxDescricao)
                {
                    alteracoes.Append(String.Format("Descrição alterada de ' {0} ' para ' {1} '\n", tarefaAntiga.TxDescricao, tarefaAtual.TxDescricao));
                }

                if (tarefaAtual.SituacaoPlanejamento != tarefaAntiga.SituacaoPlanejamento)
                {
                    valorNovo   = tarefaAtual.SituacaoPlanejamento != null ? tarefaAtual.SituacaoPlanejamento.TxDescricao : string.Empty;
                    valorAntigo = tarefaAntiga.SituacaoPlanejamento != null ? tarefaAntiga.SituacaoPlanejamento.TxDescricao : string.Empty;

                    alteracoes.Append(String.Format("Situação alterada de ' {0} ' para ' {1} '\n", valorAntigo, valorNovo));
                }

                if (tarefaAtual.TxResponsaveis != tarefaAntiga.TxResponsaveis)
                {
                    alteracoes.Append(String.Format("Responsável alterado de ' {0} ' para ' {1} '\n",
                                                    tarefaAntiga.TxResponsaveis, tarefaAtual.TxResponsaveis));
                }

                if (tarefaAtual.NbEstimativaRestante != tarefaAntiga.NbEstimativaRestante)
                {
                    alteracoes.Append(String.Format("Estimativa Restante alterada de ' {0} ' para ' {1} '\n",
                                                    ConversorTimeSpan.ConverterTimeSpanParaString(tarefaAntiga.EstimativaRestanteHora),
                                                    ConversorTimeSpan.ConverterTimeSpanParaString(tarefaAtual.EstimativaRestanteHora)));
                }

                if (tarefaAtual.NbEstimativaInicial != tarefaAntiga.NbEstimativaInicial)
                {
                    alteracoes.Append(String.Format("Estimativa Inicial alterada de ' {0} ' para ' {1} '\n",
                                                    ConversorTimeSpan.ConverterTimeSpanParaString(tarefaAntiga.EstimativaInicialHora),
                                                    ConversorTimeSpan.ConverterTimeSpanParaString(tarefaAtual.EstimativaInicialHora)));
                }

                if (tarefaAtual.NbRealizado != tarefaAntiga.NbRealizado)
                {
                    alteracoes.Append(String.Format("Horas Realizadas alteradas de ' {0} ' para ' {1} '\n",
                                                    ConversorTimeSpan.ConverterTimeSpanParaString(tarefaAntiga.EstimativaRealizadoHora),
                                                    ConversorTimeSpan.ConverterTimeSpanParaString(tarefaAtual.EstimativaRealizadoHora)));
                }

                if (tarefaAtual.TxObservacao != tarefaAntiga.TxObservacao)
                {
                    alteracoes.Append(String.Format("Observação alterada de ' {0} ' para ' {1} '\n",
                                                    tarefaAntiga.TxObservacao, tarefaAtual.TxObservacao));
                }

                if (((DateTime)tarefaAtual.DtInicio).Date != ((DateTime)tarefaAntiga.DtInicio).Date)
                {
                    alteracoes.Append(String.Format("Data de Início alterada de ' {0:dd/MM/yyyy} ' para ' {1:dd/MM/yyyy} '\n",
                                                    tarefaAntiga.DtInicio, tarefaAtual.DtInicio));
                }
            }

            if (alteracoes.Length > 0)
            {
                TarefaLogAlteracao logAlteracao = new TarefaLogAlteracao();
                logAlteracao.OidTarefa      = tarefaAtual.Oid;
                logAlteracao.DtDataHoraLog  = DateUtil.ConsultarDataHoraAtual();
                logAlteracao.OidColaborador = tarefaAtual.OidAtualizadoPor;
                logAlteracao.TxAlteracoes   = alteracoes.ToString();

                TarefaLogAlteracaoDao.Salvar(logAlteracao);
            }
        }