/// <summary> /// Pesquisar as alterações efetuadas em uma determinada tarefa baseada no guid da tarefa /// </summary> /// <param name="session">Sessão atual do banco</param> /// <param name="oidTarefa">guid da tarefa selecionada</param> /// <returns>Retornar uma lista de TarefaLogAlteracaoDto com as alterações efetuadas em uma determinada tarefa indexada pelo Oid da tarefa</returns> public static List <TarefaLogAlteracaoDto> ConsultarAlteracoesTarefaPorOidDto(WexDb contexto, Guid oidTarefa) { List <TarefaLogAlteracao> alteracoes = TarefaLogAlteracaoDao.ConsultarAlteracoesTarefaPorOid(contexto, oidTarefa); List <TarefaLogAlteracaoDto> alteracoesEfetivadas = new List <TarefaLogAlteracaoDto>(); foreach (var alteracao in alteracoes) { alteracoesEfetivadas.Add(DtoFactory(alteracao)); } return(alteracoesEfetivadas); }
/// <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); } }