public void NaoDeveSalvarAsDatasDoCronogramaQuandoADataInicioForMaiorQueADataTerminoDoCronograma() { var situacao = new SituacaoPlanejamento() { Oid = Guid.NewGuid(), CsPadrao = CsPadraoSistema.Sim, CsSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipo = CsTipoPlanejamento.Planejamento }; contexto.SituacaoPlanejamento.Add(situacao); contexto.SaveChanges(); var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var novaData = DateTime.Now.Date.AddDays(1); var novaDataTermino = DateTime.Now.Date.AddDays(-1); var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = novaData, DtFinal = novaDataTermino, OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento, TxDescricao = cronograma.TxDescricao }; Assert.AreNotEqual(novaData, cronograma.DtFinal, "As datas devem ser inicialmente diferentes"); Assert.IsFalse(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreNotEqual(dto.DtFinal, cronograma.DtFinal, "Não deveria ter salvo a data de termino do cronograma"); }
public void ConsultarCronogramaTarefasPorOidCronogramaQuandoExistirMaisDeUmaTarefa() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = DateTime.Now; DateTime dataHoraAcao = new DateTime(); List <CronogramaTarefa> tarefasImpactadas; //cria tarefa CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 01", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 02", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 03", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 04", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 05", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); //lista de oid tarefas. List <CronogramaTarefa> cronogramaTarefas = new List <CronogramaTarefa>(); cronogramaTarefas = CronogramaTarefaDao.ConsultarCronogramaTarefasPorOidCronograma(cronograma1.Oid); Assert.AreEqual(1, cronogramaTarefas[0].NbID, "Deveria ser 1, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(2, cronogramaTarefas[1].NbID, "Deveria ser 2, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(3, cronogramaTarefas[2].NbID, "Deveria ser 3, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(4, cronogramaTarefas[3].NbID, "Deveria ser 4, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(5, cronogramaTarefas[4].NbID, "Deveria ser 5, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); }
public void DevePoderAlterarOsDadosDoCronograma() { var situacao = new SituacaoPlanejamento() { Oid = Guid.NewGuid(), CsPadrao = CsPadraoSistema.Sim, CsSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipo = CsTipoPlanejamento.Planejamento }; contexto.SituacaoPlanejamento.Add(situacao); contexto.SaveChanges(); var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var novaData = DateTime.Now.Date.AddDays(1); const string novaDescricao = "Wex Teste"; var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = cronograma.DtInicio, DtFinal = cronograma.DtFinal, OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento, TxDescricao = novaDescricao }; Assert.IsTrue(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreEqual(dto.TxDescricao, cronograma.TxDescricao, "Deveria ter salvo o nome do cronograma"); Assert.AreEqual(dto.DtInicio, cronograma.DtInicio, "Deveria ter salvo a data de inicio do cronograma"); Assert.AreEqual(dto.DtFinal, cronograma.DtFinal, "Deveria ter salvo a data de termino do cronograma"); }
public void EditarTarefaQuandoLinhaBaseNaoEstiverSalvaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronogramaPadrao1 = CronogramaBo.CriarCronogramaPadrao(contexto); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dataInicio = DateTime.Now; List <CronogramaTarefa> tarefaImpactadas; DateTime dataHoraAcao = new DateTime(); CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronogramaPadrao1.Oid, (string)"Tarefa 01", situacaoPlanejamento, dataInicio, responsaveis, colaborador1.Usuario.UserName, out tarefaImpactadas, ref dataHoraAcao, (string)"Criar método", 3, 0); //busca tarefa criada CronogramaTarefa tarefaCriada = contexto.CronogramaTarefa.FirstOrDefault(o => o.Oid == novaTarefa.Oid); //Alterando responsaveis Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "pedro.lins", true); colaborador2.Usuario.UserName = "******"; Colaborador colaborador3 = ColaboradorFactoryEntity.CriarColaborador(contexto, "joao.lins", true); colaborador3.Usuario.UserName = "******"; string responsaveisAlterado = String.Format("{0},{1}", colaborador2.NomeCompleto, colaborador3.NomeCompleto); //cria situação planejamento alterada SituacaoPlanejamento situacaoPlanejamento2 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S2", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Sim, true); string txDescricaoAlterada = "Tarefa 01 alterada"; string txObservacaoAlterada = "Criar método alterado"; Int16 EstimativaInicialHoraAlterada = 4; TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), txDescricaoAlterada, situacaoPlanejamento2.Oid.ToString(), colaborador1.Usuario.UserName, txObservacaoAlterada, responsaveisAlterado, EstimativaInicialHoraAlterada, new TimeSpan(0), new TimeSpan(0), false, dataInicio); //busca tarefa criada CronogramaTarefa tarefaAlterada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(tarefaCriada.Oid, o => o.Tarefa.SituacaoPlanejamento, o => o.Tarefa.TarefaResponsaveis); DateUtil.CurrentDateTime = (DateTime)tarefaAlterada.Tarefa.DtAtualizadoEm; Assert.AreEqual(DateUtil.CurrentDateTime, tarefaAlterada.Tarefa.DtAtualizadoEm, "As datas devem ser iguais."); Assert.AreEqual(txDescricaoAlterada, tarefaAlterada.Tarefa.TxDescricao, "Devem ser as mesmas, pois a descrição foi alterada."); Assert.AreEqual(txObservacaoAlterada, tarefaAlterada.Tarefa.TxObservacao, "Devem ser as mesmas, pois a data foi alterada."); Assert.AreEqual(EstimativaInicialHoraAlterada, tarefaAlterada.Tarefa.NbEstimativaInicial, ""); Assert.AreEqual(situacaoPlanejamento2.Oid, tarefaAlterada.Tarefa.OidSituacaoPlanejamento, ""); Assert.AreEqual(responsaveisAlterado, tarefaAlterada.Tarefa.TxResponsaveis); }
public void ExcluirCronogramaQuandoExistirTarefasComHistoricoNoCronogramaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamentoNaoIniciado, new DateTime(), new DateTime(), true); List <CronogramaTarefa> tarefasReordenadas = new List <CronogramaTarefa>(); DateTime dataHoraDaAcao = new DateTime(); CronogramaTarefa cronogramaTarefa = CronogramaBo.CriarTarefa(cronograma1.Oid, (string)"Tarefa 01", situacaoPlanejamentoNaoIniciado.Oid.ToString(), DateTime.Today, colaborador.Usuario.UserName, "", "", out tarefasReordenadas, ref dataHoraDaAcao, 5); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa((Guid)cronogramaTarefa.OidTarefa, colaborador.Usuario.UserName, new TimeSpan(3, 0, 0), DateTime.Now, new TimeSpan(8, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(2, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TarefaHistoricoTrabalho historicoCriado = TarefaHistoricoTrabalhoDao.ConsultarTarefaHistoricoAtualPorOidTarefa((Guid)cronogramaTarefa.OidTarefa); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsNotNull(historicoCriado, "Deveria ter criado um histórico pra tarefa"); Assert.IsTrue(cronogramaExcluido, "Deveria ser true, pois o cronograma exclui quaisquer tarefas associadas a ele."); }
public void CriarTarefaQuandoLogSofrerAlteracaoPorOutroUsuarioTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); tarefa.TxDescricao = "Tarefa Alterada"; tarefa.DtAtualizadoEm = DateUtil.ConsultarDataHoraAtual(); tarefa.AtualizadoPor = colaborador2; contexto.SaveChanges(); DateUtil.CurrentDateTime = (DateTime)tarefa.DtAtualizadoEm; Assert.AreEqual("Tarefa Alterada", tarefa.TxDescricao); Assert.AreEqual(DateUtil.CurrentDateTime, tarefa.DtAtualizadoEm); Assert.AreEqual(colaborador2, tarefa.AtualizadoPor); }
/// <summary> /// Factory para crição do objeto de criação de tarefas /// </summary> /// <param name="contexto">contexto do banco</param> /// <param name="nbId">descrição para id da tarefa</param> /// <param name="txDescricao">descrição para nome da tarefa</param> /// <param name="txObservacao">descrição para observação da tarefa</param> /// <param name="situacaoPlanejamento">situação da tarefa</param> /// <param name="estimativaInicial">estimativa inicial da tarefa</param> /// <param name="realizado">Número de horas realizada na tarefa</param> /// <param name="colaborador">Colaborador atrelado a tarefa</param> /// <param name="cronograma">Cronograma da tarefa</param> /// <param name="tarefaSelecionada">verifica se nenhuma tarefa foi selecionada</param> /// <param name="save">verificação se é necessário salvar o objeto</param> /// <returns>Objeto de Tarefa</returns> public static CronogramaTarefa CriarTarefa(WexDb contexto, ushort nbId, String txDescricao, String txObservacao, SituacaoPlanejamento situacaoPlanejamento, Int16 estimativaInicial, TimeSpan realizado, Colaborador colaborador, Cronograma cronograma, CronogramaTarefa tarefaSelecionada, bool save = false) { CronogramaTarefa tarefa = new CronogramaTarefa() { Tarefa = new Tarefa() { SituacaoPlanejamento = new SituacaoPlanejamento() } }; tarefa.Cronograma = cronograma; if (situacaoPlanejamento != null) { tarefa.Tarefa.SituacaoPlanejamento = situacaoPlanejamento; } tarefa.Tarefa.TxDescricao = txDescricao; tarefa.Tarefa.TxObservacao = txObservacao; tarefa.Tarefa.DtInicio = new DateTime(2011, 11, 01); tarefa.Tarefa.NbEstimativaInicial = estimativaInicial; tarefa.Tarefa.TxResponsaveis = colaborador.NomeCompleto; tarefa.Tarefa.EstimativaRealizadoHora = realizado; tarefa.Tarefa.AtualizadoPor = colaborador; if (save) { contexto.CronogramaTarefa.Add(tarefa); contexto.SaveChanges(); } return(tarefa); }
public void DeveCriarUmRespectivoItemDeTrabalhoParaAsTarefasQueForemCriadas() { Assert.Inconclusive("Falta correção de ItemDeTrabalho"); Cronograma cronograma = new Cronograma(); cronograma.TxDescricao = "Cronograma1"; contexto.Cronograma.Add(cronograma); SituacaoPlanejamento situacao = new SituacaoPlanejamento(); situacao.CsTipo = CsTipoPlanejamento.Planejamento; situacao.TxDescricao = "Nao iniciado"; contexto.SituacaoPlanejamento.Add(situacao); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); contexto.SaveChanges(); DateTime dat2 = DateTime.Now; List <CronogramaTarefa> tarefasList = new List <CronogramaTarefa>(); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T1", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T2", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T3", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T4", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); List <Tarefa> tarefas = contexto.Tarefa.ToList(); //List<ItemDeTrabalho> itens = new XPCollection<ItemDeTrabalho>( contexto ).ToList(); //List<Guid> oidTarefas = new List<Guid>( tarefas.Select( o => o.Oid ) ); //List<Guid> itensTrabalhoOid = new List<Guid>( itens.Select( o => o.Oid ) ); //CollectionAssert.AreEquivalent( itensTrabalhoOid, oidTarefas, "Itens de trabalho deveria conter o oid de todas as tarefas criadas" ); }
public void CriarTarefaQuandoSituacaoPlanejamentoPadraoNaoExistirTest() { //Situação planejamento SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = String.Format("{0}", colaborador1.NomeCompleto); //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa1 = new Tarefa(); tarefa1 = TarefaBo.CriarTarefa("Tarefa 01", null, dtInicio, colaborador1.Usuario.UserName, "Criar método1", responsaveis, 3); //busca tarefa criada Tarefa tarefaCriada1 = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa1.Oid); //verifica se existe Assert.IsNotNull(tarefaCriada1, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa1, tarefaCriada1, "Deveria ter criado uma tarefa com os mesmos dados"); //verifica se os responsáveis são os mesmos. Assert.AreEqual("Anderson,Pedro,Joao", tarefa1.TxResponsaveis, "Deveria retornar 3 responsáveis cadastrados na tarefa."); //Verifica Situação Planejamento Assert.AreEqual(situacaoPlanejamento1, tarefa1.SituacaoPlanejamento); }
public void ExcluirTarefaQuandoNaoExistirTarefaParaExcluir() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); List <Guid> oidTarefas = new List <Guid>(); oidTarefas.Add(tarefa.Oid); List <Guid> oidTarefasExcluidas = new List <Guid>(); TarefaBo.ExcluirTarefa(contexto, oidTarefas); oidTarefasExcluidas = TarefaBo.ExcluirTarefa(contexto, oidTarefas); Tarefa tarefaExcluida = TarefaDao.ConsultarTarefaPorOid(tarefa.Oid); Assert.AreEqual(0, oidTarefasExcluidas.Count, "Não deve existir nenhuma tarefa na lista, pois nenhuma tarefa foi deletada (pois a tarefa já estava deletada)"); Assert.IsNull(tarefaExcluida, "Deveria ser nulo, pois a tarefa deveria ter sido excluida."); }
public void CriarTarefaQuandoHouverUmResponsavelApenasTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); //busca tarefa criada Tarefa tarefaCriada = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa.Oid); //verifica se existe Assert.IsNotNull(tarefaCriada, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa.Oid, tarefaCriada.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); }
public void DeveSalvarOsNovosDadosDoCronogramaQuandoForAlteradaASituacaoPlanejamento() { var naoIniciado = new SituacaoPlanejamento() { Oid = Guid.NewGuid(), CsPadrao = CsPadraoSistema.Não, CsSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipo = CsTipoPlanejamento.Planejamento }; contexto.SituacaoPlanejamento.Add(naoIniciado); contexto.SaveChanges(); var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = cronograma.DtInicio, DtFinal = cronograma.DtFinal, OidSituacaoPlanejamento = naoIniciado.Oid, TxDescricao = cronograma.TxDescricao }; Assert.AreNotEqual(naoIniciado.Oid, cronograma.OidSituacaoPlanejamento, "a situação de planejamento devem ser inicialmente diferentes"); Assert.IsTrue(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreEqual(dto.TxDescricao, cronograma.TxDescricao, "Deveria ter salvo o nome do cronograma"); Assert.AreEqual(dto.DtInicio, cronograma.DtInicio, "Deveria ter salvo a data de inicio do cronograma"); Assert.AreEqual(dto.DtFinal, cronograma.DtFinal, "Deveria ter salvo a data de termino do cronograma"); Assert.AreEqual(dto.OidSituacaoPlanejamento, cronograma.OidSituacaoPlanejamento, "Deveria ter salvo a nova situação planejamento de termino do cronograma"); }
/// <summary> /// Factory para criação de situação planejamento /// </summary> /// <param name="contexto">Contexto do banco</param> /// <param name="txDescricao">descrição para descrição da situação planejamento</param> /// <param name="csSituacao">enum de situacao</param> /// <param name="csTipo">enum de tipo</param> /// <param name="padraoSistema">Verifica se é padrão do sistema</param> /// <param name="save">verificação se é necessário salvar o objeto</param> /// <returns>Objeto de Situação Planejamento</returns> public static SituacaoPlanejamento CriarSituacaoPlanejamento(WexDb contexto, String txDescricao = "", CsTipoSituacaoPlanejamento csSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento csTipo = CsTipoPlanejamento.Execução, CsPadraoSistema padraoSistema = CsPadraoSistema.Não, bool save = true) { SituacaoPlanejamento situacaoPlanejamento = new SituacaoPlanejamento { TxDescricao = txDescricao, CsPadrao = padraoSistema, TxKeys = ((Shortcut)(contadorAtalhos + seedShortcut)).ToString(), KeyPress = contadorAtalhos + seedShortcut, CsSituacao = csSituacao, CsTipo = csTipo }; if (save) { contexto.SituacaoPlanejamento.Add(situacaoPlanejamento); contexto.SaveChanges(); } contadorAtalhos++; return(situacaoPlanejamento); }
/// <summary> /// Método responsável por editar uma tarefa /// </summary> /// <param name="contexto">Sessão corrente</param> /// <param name="oidCronogramaTarefa">Oid (Guid) da tarefa a ser editada</param> /// <param name="txDescricao">Descrição da tarefa alterada</param> /// <param name="oidSituacaoPlanejamento">Oid (Guid) da tarefa editada</param> /// <param name="dataInicio">Data de Inicio da tarefa editada</param> /// <param name="login">Login do usuário que editou a tarefa</param> /// <param name="txObservacao">Observação da tarefa editada</param> /// <param name="responsaveis">array de responsáveis pela tarefa</param> /// <param name="nbEstimativaInicial">Estimativa inicial da tarefa</param> /// <param name="nbEstimativaRestante">Estimativa restante da tarefa</param> /// <param name="nbRealizado">Horas realizadas da tarefa</param> /// <param name="csLinhaBaseSalva">Boolean afirmando se a tarefa foi salva a linda de base</param> /// <returns>Retorna uma Hash contendo dados de atualizado em, atualizado por e confirmação da edição</returns> public static Hashtable EditarTarefa(string oidCronogramaTarefa, string txDescricao, string oidSituacaoPlanejamento, string login, string txObservacao, string responsaveis, Int16 nbEstimativaInicial, TimeSpan nbEstimativaRestante, TimeSpan nbRealizado, bool csLinhaBaseSalva, DateTime dataInicio) { if (oidCronogramaTarefa == null || txDescricao == null || oidSituacaoPlanejamento == null || login == null) { throw new ArgumentException("Os parâmetros OidCronogramaTarefa, TxDescricao, DataInício, SituacaoPlanejamento, login e TxObservação são obrigatórios."); } Hashtable dadosEdicaoTarefa = new Hashtable(); CronogramaTarefa cronogramaTarefa = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(Guid.Parse(oidCronogramaTarefa), o => o.Tarefa.SituacaoPlanejamento, o => o.Tarefa.AtualizadoPor.Usuario.Person); if (cronogramaTarefa == null) { dadosEdicaoTarefa.Add("EdicaoStatus", false); return(dadosEdicaoTarefa); } Tarefa tarefaAntiga = cronogramaTarefa.Tarefa.Clone(); Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person); SituacaoPlanejamento situacaoPlanejamento = SituacaoPlanejamentoDAO.ConsultarSituacaoPlanejamentoPorOid(Guid.Parse(oidSituacaoPlanejamento)); if (colaborador != null) { cronogramaTarefa.Tarefa.OidAtualizadoPor = colaborador.Oid; cronogramaTarefa.Tarefa.AtualizadoPor = null; } if (situacaoPlanejamento != null) { cronogramaTarefa.Tarefa.OidSituacaoPlanejamento = situacaoPlanejamento.Oid; cronogramaTarefa.Tarefa.SituacaoPlanejamento = null; } cronogramaTarefa.Tarefa.CsLinhaBaseSalva = csLinhaBaseSalva; cronogramaTarefa.Tarefa.NbEstimativaInicial = nbEstimativaInicial; cronogramaTarefa.Tarefa.EstimativaRealizadoHora = nbRealizado; cronogramaTarefa.Tarefa.TxDescricao = txDescricao; cronogramaTarefa.Tarefa.TxObservacao = txObservacao; cronogramaTarefa.Tarefa.DtAtualizadoEm = DateTime.Now; cronogramaTarefa.Tarefa.TxResponsaveis = responsaveis; cronogramaTarefa.Tarefa.DtInicio = dataInicio; EstimarHorasRestantesSugeridaPorTipoSituacaoPlanejamento(cronogramaTarefa.Tarefa, nbEstimativaRestante.Ticks, situacaoPlanejamento); TarefaDao.SalvarTarefa(cronogramaTarefa.Tarefa); TarefaHistoricoEstimativaBo.CriarHistorico(DateUtil.ConsultarDataHoraAtual(), cronogramaTarefa.Tarefa.Oid, cronogramaTarefa.Tarefa.NbEstimativaRestante); TarefaLogAlteracaoBo.CriarLogTarefa(cronogramaTarefa.Tarefa, tarefaAntiga); dadosEdicaoTarefa.Add("EdicaoStatus", true); dadosEdicaoTarefa.Add("DtAtualizadoEm", cronogramaTarefa.Tarefa.DtAtualizadoEm); dadosEdicaoTarefa.Add("TxAtualizadoPor", colaborador.NomeCompleto); return(dadosEdicaoTarefa); }
/// <summary> /// Método responsável por criar um histórico para uma determinada tarefa. /// </summary> /// /// <param name="oidTarefa">Oid da Tarefa</param> /// <param name="login">Login do usuário</param> /// <param name="nbHoraRealizado">Horas realizadas na atividade.</param> /// <param name="dtRealizado">Data de realização da atividade.</param> /// <param name="nbHoraInicial">Hora Inicial da atividade</param> /// <param name="nbHoraFinal">Hora Final da atividade</param> /// <param name="txComentario">Comentário da atividade</param> /// <param name="nbHoraRestante">Horas restantes da atividade</param> /// <param name="oidSituacaoPlanejamento">Oid da Situação Planejamento da atividade</param> /// <param name="txJustificativaReducao">Justificativa de redução da atividade</param> public static void CriarHistoricoTarefa(Guid oidTarefa, string login, TimeSpan nbHoraRealizado, DateTime dtRealizado, TimeSpan nbHoraInicial, TimeSpan nbHoraFinal, string txComentario, TimeSpan nbHoraRestante, Guid oidSituacaoPlanejamento, string txJustificativaReducao) { if (oidTarefa == new Guid() || String.IsNullOrEmpty(login)) { throw new ArgumentException("Os parâmetros Login e OidTarefa não podem ser nulos."); } TarefaHistoricoTrabalho historico = new TarefaHistoricoTrabalho(); Tarefa tarefa = TarefaDao.ConsultarTarefaPorOid(oidTarefa); Colaborador colaborador = ColaboradorDAO.ConsultarColaborador(login, o => o.Usuario.Person); if (tarefa == null) { return; } SituacaoPlanejamento situacaoPlanejamento = SituacaoPlanejamentoDAO.ConsultarSituacaoPlanejamentoPorOid(oidSituacaoPlanejamento); if (tarefa.NbEstimativaInicial <= 0 && (situacaoPlanejamento.CsTipo == CsTipoPlanejamento.Cancelamento || situacaoPlanejamento.CsTipo == CsTipoPlanejamento.Planejamento)) { TarefaBo.AtualizarDadosTarefa(tarefa.Oid, colaborador, situacaoPlanejamento, nbHoraRealizado, nbHoraRestante, tarefa.CsLinhaBaseSalva); return; } // Caso não possua estimativa inicial não deve salvar historico da tarefa if (tarefa.NbEstimativaInicial <= 0 && situacaoPlanejamento.CsTipo != CsTipoPlanejamento.Impedimento) { throw new EstimativaInicialInvalidaException("Histórico da Tarefa não pode ser salvo, pois não foi estimado um tempo inicial para realização da tarefa"); } if (!tarefa.CsLinhaBaseSalva) { TarefaBo.SalvarLinhaBaseTarefa(tarefa); } historico.OidTarefa = tarefa.Oid; historico.HoraRealizado = nbHoraRealizado; historico.DtRealizado = dtRealizado; historico.HoraInicio = nbHoraInicial; historico.HoraFinal = nbHoraFinal; historico.TxComentario = txComentario; historico.HoraRestante = nbHoraRestante; historico.TxJustificativaReducao = txJustificativaReducao; historico.OidColaborador = colaborador.Oid; historico.OidSituacaoPlanejamento = situacaoPlanejamento.Oid; historico.TxComentario = txComentario; historico.TxJustificativaReducao = txJustificativaReducao; using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { contexto.TarefaHistoricoTrabalho.Add(historico); contexto.SaveChanges(); } //Atualiza os dados da tarefa a partir dos dados salvos no histórico. TarefaBo.AtualizarDadosTarefa(tarefa.Oid, colaborador, situacaoPlanejamento, historico.HoraRealizado, historico.HoraRestante, tarefa.CsLinhaBaseSalva); }
public void ExcluirCronogramaQuandoCronogramaNaoPossuirTarefasENaoPossuirUltimaSelecaoParaUmUsuarioTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser verdadeiro, pois o cronograma não possui tarefas e ele ainda existe"); }
/// <summary> /// Método responsável por buscar a situaçao de planejamento padrão /// É acionado pelo serviço, acessa a classe SituaçãoPlanejamento /// </summary> /// <param name="session">Sessão Corrente</param> /// <returns>Objeto SituaçãoPlanejamento</returns> public static SituacaoPlanejamentoDTO ConsultarSituacaoPadraoDto(Session session) { SituacaoPlanejamento situacaoPlanejamento = ConsultarSituacaoPadrao(session); if (situacaoPlanejamento != null) { return(situacaoPlanejamento.DtoFactory()); } return(null); }
/// <summary> /// Método responsável por buscar uma situaçao de planejamento especificada pelo Tipo /// É acionado pelo serviço, acessa a classe SituaçãoPlanejamento /// </summary> /// <param name="session">Sessão Corrente</param> /// <returns>Objeto SituaçãoPlanejamento</returns> public static SituacaoPlanejamentoDTO ConsultarSituacaoPlanejamentoPorTipoDto(Session session, int tipoSituacaoPlanejamento) { SituacaoPlanejamento situacaoPlanejamento = SituacaoPlanejamentoDAO.ConsultarSituacao(session, (CsTipoPlanejamento)tipoSituacaoPlanejamento); if (situacaoPlanejamento != null) { return(situacaoPlanejamento.DtoFactory()); } return(null); }
public void ExcluirTarefaQuandoExistirHistoricoELogAlteracao() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); TarefaHistoricoTrabalho tarefaHistorico = new TarefaHistoricoTrabalho(); tarefaHistorico.OidTarefa = tarefa.Oid; tarefaHistorico.OidColaborador = colaborador1.Oid; tarefaHistorico.DtRealizado = DateTime.Now; tarefaHistorico.HoraFinal = new TimeSpan(10, 0, 0); tarefaHistorico.HoraInicio = new TimeSpan(5, 0, 0); tarefaHistorico.HoraRealizado = new TimeSpan(4, 0, 0); tarefaHistorico.HoraRestante = new TimeSpan(6, 0, 0); tarefaHistorico.TxComentario = "Comentario"; contexto.TarefaHistoricoTrabalho.Add(tarefaHistorico); contexto.SaveChanges(); List <Guid> oidTarefas = new List <Guid>(); oidTarefas.Add(tarefa.Oid); List <Guid> oidTarefasExcluidas = new List <Guid>(); oidTarefasExcluidas = TarefaBo.ExcluirTarefa(contexto, oidTarefas); Tarefa tarefaExcluida = TarefaDao.ConsultarTarefaPorOid(tarefa.Oid); TarefaHistoricoTrabalho tarefaHistoricoExcluido = contexto.TarefaHistoricoTrabalho.FirstOrDefault(o => o.OidTarefa == tarefa.Oid); TarefaLogAlteracao tarefaLogExcluido = contexto.TarefaLogAlteracao.FirstOrDefault(o => o.OidTarefa == tarefa.Oid); Assert.AreEqual(1, oidTarefasExcluidas.Count, "Deve ter excluido uma tarefa"); Assert.AreEqual(tarefa.Oid, oidTarefasExcluidas[0], "Deve ter excluido a tarefa com este oid"); Assert.IsNull(tarefaExcluida, "Deveria ser nulo, pois a tarefa deveria ter sido excluida."); Assert.IsNotNull(tarefaHistoricoExcluido, "Não deveria ser nulo, pois a tarefa deveria ter sido excluida, mas o historico permanece."); Assert.IsNotNull(tarefaLogExcluido, "Não deveria ser nulo, pois a tarefa deveria ter sido excluida, mas o Log permanece."); }
/// <summary> /// Método responsável por criar uma tarefa dependente de projeto e cronograma. /// É acessado pelo serviço de planejamento quando solicitado pela tela de cronograma. /// </summary> /// <param name="contexto">Contexto do banco</param> /// <param name="login">Login do usuario</param> /// <param name="oidCronograma"> oid cronograma</param> /// <param name="txDescricaoTarefa"> descrição da tarefa </param> /// <param name="txObservacaoTarefa">observações da tarefa</param> /// <param name="oidSituacao">oid situação da tarefa</param> /// <param name="responsaveis">responsáveis pela tarefa</param> /// <param name="nbEstimativaInicial"> horas estimadas inicialmente</param> /// <param name="dtInicio"> data de inicio da tarefa</param> /// <param name="oidTarefaSelecionada">oid da tarefa</param> /// <param name="salvar"> condição para indicar se irá salvar ou não a tarefa dentro da classe tarefa</param> /// <returns>hash contendo informações sobre a tarefa e lista das tarefas impactadas</returns> public static CronogramaTarefa CriarTarefa(Guid oidCronograma, string txDescricaoTarefa, string oidSituacao, DateTime dtInicio, string login, string txObservacaoTarefa, string responsaveis, out List <CronogramaTarefa> tarefasImpactadas, ref DateTime dataHoraAcao, Int16 nbEstimativaInicial = 0, short nbIDReferencia = 0) { if (oidCronograma == null || oidCronograma == new Guid() || String.IsNullOrEmpty(oidSituacao)) { throw new ArgumentException("Os parametros session, oidCronograma sao obrigatorios."); } SituacaoPlanejamento situacaoPlanejamento = SituacaoPlanejamentoDAO.ConsultarSituacaoPlanejamentoPorOid(Guid.Parse(oidSituacao)); CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(oidCronograma, txDescricaoTarefa, situacaoPlanejamento, dtInicio, responsaveis, login, out tarefasImpactadas, ref dataHoraAcao, txObservacaoTarefa, nbEstimativaInicial, nbIDReferencia); return(novaTarefa); }
public void ExcluirCronogramaQuandoCronogramaPossuirTarefasENaoPossuirUltimaSelecaoTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); CronogramaTarefa cronogramaTarefa = CronogramaFactoryEntity.CriarTarefa(contexto, 1, "Tarefa 01", "", situacaoPlanejamento, 0, new TimeSpan(), colaborador, cronograma1, null, true); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser true, pois o cronograma exclui quaisquer tarefas associadas a ele."); }
public void EditarTarefaQuandoAlterarHorasRestantesEHorasRealizadoTarefaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronogramaPadrao1 = CronogramaBo.CriarCronogramaPadrao(contexto); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dataInicio = DateTime.Now; List <CronogramaTarefa> tarefasImpactadas; DateTime dataHoraAcao = new DateTime(); CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronogramaPadrao1.Oid, (string)"Tarefa 01", situacaoPlanejamento, dataInicio, responsaveis, colaborador1.Usuario.UserName, out tarefasImpactadas, ref dataHoraAcao, (string)"Criar método", 3, 0); //busca tarefa criada CronogramaTarefa tarefaCriada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(novaTarefa.Oid, o => o.Tarefa.SituacaoPlanejamento); //Salvando a linha de base bool salvarLinhaBaseTarefa = true; TimeSpan estimativaRestante = tarefaCriada.Tarefa.EstimativaInicialHora; string responsaveisAlterado = colaborador1.NomeCompleto; TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), tarefaCriada.Tarefa.TxDescricao, tarefaCriada.Tarefa.SituacaoPlanejamento.Oid.ToString(), colaborador1.Usuario.UserName, tarefaCriada.Tarefa.TxObservacao, responsaveisAlterado, tarefaCriada.Tarefa.NbEstimativaInicial, estimativaRestante, new TimeSpan(0), salvarLinhaBaseTarefa, dataInicio); //busca tarefa criada CronogramaTarefa tarefaAlterada = contexto.CronogramaTarefa.FirstOrDefault(o => o.Oid == tarefaCriada.Oid); //Alterando Estimativa Restante da tarefa TimeSpan estimativaRestanteAlterada = new TimeSpan(1, 0, 0); TimeSpan horasRealizado = new TimeSpan(2, 0, 0); TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), tarefaCriada.Tarefa.TxDescricao, tarefaCriada.Tarefa.SituacaoPlanejamento.Oid.ToString(), colaborador1.Usuario.UserName, tarefaCriada.Tarefa.TxObservacao, responsaveisAlterado, tarefaCriada.Tarefa.NbEstimativaInicial, estimativaRestanteAlterada, horasRealizado, salvarLinhaBaseTarefa, DateTime.Now); //busca tarefa criada CronogramaTarefa tarefaAlteradaHorario = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(tarefaCriada.Oid, o => o.Tarefa.SituacaoPlanejamento); Assert.AreEqual(new TimeSpan(3, 0, 0), tarefaCriada.Tarefa.EstimativaInicialHora, "Deve ser a mesma estimativa inicial."); Assert.AreEqual(estimativaRestanteAlterada, tarefaAlteradaHorario.Tarefa.EstimativaRestanteHora, "Deve ter alterado a estimativa restante."); Assert.AreEqual(horasRealizado, tarefaAlteradaHorario.Tarefa.EstimativaRealizadoHora, "Deve ter alterado as horas realizado."); }
public void ConsultarUltimoCronogramaSelecionadoQuandoUmUsuarioPossuirUmCronogramaAnteriormenteSelecinadoTest() { SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Situacao 01", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); User usuario01 = CronogramaFactoryEntity.CriarUsuario(contexto, "anderson.lins", "Anderson", "Lins", "*****@*****.**", true); Cronograma cronograma01 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma01", situacaoPlanejamento1, DateTime.Now, DateTime.Now, true); CronogramaUltimaSelecaoDao.SalvarUltimoCronogramaSelecionado(contexto, usuario01.UserName, cronograma01.Oid); Cronograma cronogramaUsuario01 = CronogramaUltimaSelecaoDao.ConsultarUltimoCronogramaSelecionado(contexto, usuario01.UserName); Assert.AreEqual(cronograma01, cronogramaUsuario01, "Deve ser o mesmo Cronograma, pois salvou como último cronograma selecionado para este usuário"); }
public void DeveCriarEArmazenarUmaSituacaoPlanejamento() { const string txDescricao = "Não iniciado"; Guid fixedOid = Guid.NewGuid(); var situacaoPlanejamento = new SituacaoPlanejamento(); situacaoPlanejamento.Oid = fixedOid; situacaoPlanejamento.TxDescricao = txDescricao; situacaoPlanejamento.CsPadrao = CsPadraoSistema.Sim; situacaoPlanejamento.CsSituacao = CsTipoSituacaoPlanejamento.Ativo; situacaoPlanejamento.CsTipo = CsTipoPlanejamento.Planejamento; SituacaoPlanejamentoDAO.CriarSituacaoPlanejamento(contexto, situacaoPlanejamento); Assert.AreEqual(1, contexto.SituacaoPlanejamento.Local.Count, "Deveria conter uma nova situação planejamento"); Assert.AreEqual(txDescricao, contexto.SituacaoPlanejamento.Find(fixedOid).TxDescricao, string.Format("Deveria ter encontrado uma situação com a seguinte descrição {0}", txDescricao)); }
public void ExcluirCronogramaQuandoCronogramaNaoExistirMaisTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Guid oidCronograma = cronograma1.Oid; contexto.Cronograma.Remove(cronograma1); contexto.SaveChanges(); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, oidCronograma); Assert.IsFalse(cronogramaExcluido, "Deveria ser falo, pois o cronograma não deveria existir mais."); }
public void AtualizarDadosTarefaQuandoJáExistirColaboradorNaListaDeResponsaveisTest() { //Cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); //Cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = String.Format("{0}", colaborador1.NomeCompleto); //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa1 = new Tarefa(); tarefa1 = TarefaBo.CriarTarefa("Tarefa 01", situacaoPlanejamentoNaoIniciado, dtInicio, colaborador1.Usuario.UserName, "Criar método1", responsaveis, 5); //busca tarefa criada Tarefa tarefaCriada = TarefaDao.ConsultarTarefaPorOid(tarefa1.Oid, o => o.SituacaoPlanejamento); //simulando passagem de parâmetros ao criar um histórico. TarefaBo.AtualizarDadosTarefa(tarefaCriada.Oid, colaborador1, situacaoPlanejamentoEmAndamento, new TimeSpan(3, 0, 0), new TimeSpan(2, 0, 0), tarefaCriada.CsLinhaBaseSalva); Tarefa tarefaAlterada = TarefaDao.ConsultarTarefaPorOid(tarefaCriada.Oid, o => o.SituacaoPlanejamento); List <string> responsaveisTarefa = new List <string>(tarefaAlterada.TxResponsaveis.Split(',')); //Responsável Tarefa Assert.AreEqual(1, responsaveisTarefa.Count, "Deveria ter um responsável, pois foi adicionado apenas 1 colaborador pela tarefa."); Assert.AreEqual(colaborador1.NomeCompleto, responsaveisTarefa.First(), "Deveriam ser iguais, pois é o único cadastrado."); //Situacao Planejamento Assert.AreEqual(tarefaAlterada.OidSituacaoPlanejamento, situacaoPlanejamentoEmAndamento.Oid, "Deveria ser o mesmo Oid, pois a tarefa foi alterada para Em Andamento."); //Estimativas Assert.AreEqual(new TimeSpan(2, 0, 0), tarefaAlterada.NbEstimativaRestante.ToTimeSpan(), "Deveriam ser iguais, pois a tarefa possui 5 horas de estimativa inicial e foram realizadas 3 horas, então sobram 2"); Assert.AreEqual(new TimeSpan(3, 0, 0), tarefaAlterada.NbRealizado.ToTimeSpan(), "Deveria ser 3 horas, pois foram realizadas 3 horas na tarefa e o historico foi salvo."); }
public void CriarContextoTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); //cria cronograma Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "C1", situacaoPlanejamento, new DateTime(), new DateTime(), true); Cronograma cronograma2 = CronogramaFactoryEntity.CriarCronograma(contexto, "C2", situacaoPlanejamento, new DateTime(), new DateTime(), true); Cronograma cronograma3 = CronogramaFactoryEntity.CriarCronograma(contexto, "C3", situacaoPlanejamento, new DateTime(), new DateTime(), true); cronogramas.Add(cronograma1); cronogramas.Add(cronograma2); cronogramas.Add(cronograma3); }
public void CriarTarefaQuandoTarefasForemImpactadasTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Cronograma cronograma2 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 02", situacaoPlanejamento, new DateTime(), new DateTime(), true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); List <CronogramaTarefa> tarefasImpactadas1; List <CronogramaTarefa> tarefasImpactadas2; DateTime dataHoraAcao = new DateTime(); //cria tarefas cronograma1 CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 01", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas1, ref dataHoraAcao, 3, 0); List <CronogramaTarefa> lstCronoTarefa1 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma1.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 02", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas1, ref dataHoraAcao, 3, lstCronoTarefa1[0].NbID); lstCronoTarefa1 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma1.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 03", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas1, ref dataHoraAcao, 3, lstCronoTarefa1[0].NbID); lstCronoTarefa1 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma1.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma2.Oid, "Tarefa 01", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas2, ref dataHoraAcao, 3, 0); List <CronogramaTarefa> lstCronoTarefa2 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma2.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma2.Oid, "Tarefa 02", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas2, ref dataHoraAcao, 3, lstCronoTarefa2[0].NbID); lstCronoTarefa2 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma2.Oid).ToList(); Assert.IsNotNull(lstCronoTarefa1); Assert.AreEqual(3, lstCronoTarefa1.Count); Assert.AreEqual(2, tarefasImpactadas1.Count); Assert.IsNotNull(lstCronoTarefa2); Assert.AreEqual(2, lstCronoTarefa2.Count); }
public void ExcluirCronogramaQuandoCronogramaNaoPossuirTarefasEPossuirUltimaSelecaoTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); User usuario = CronogramaFactoryEntity.CriarUsuario(contexto, "anderson.lins", "Anderson", "Lins", "*****@*****.**", true); CronogramaUltimaSelecao ultimaSelecao = new CronogramaUltimaSelecao(); ultimaSelecao.DataAcesso = DateTime.Now; ultimaSelecao.Usuario = usuario; ultimaSelecao.OidUltimoCronograma = cronograma1.Oid; ultimaSelecao.Cronograma = cronograma1; bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser verdadeiro, pois o cronograma não possui tarefas associadas a ele."); }
public void ConsultarHorarioUltimaTarefaDiaColaboradorQuandoColaboradorTiverRealizadoTarefaNoDia() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); //colaborador1 Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamentoNaoIniciado, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 5); //Salvando linha base tarefa tarefa.CsLinhaBaseSalva = true; contexto.Entry <Tarefa>(tarefa).State = System.Data.EntityState.Modified; contexto.SaveChanges(); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa.Oid, colaborador1.Usuario.UserName, new TimeSpan(3, 0, 0), DateTime.Now, new TimeSpan(8, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(2, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); //colaborador2 Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa.Oid, colaborador2.Usuario.UserName, new TimeSpan(1, 0, 0), DateTime.Now, new TimeSpan(13, 0, 0), new TimeSpan(14, 0, 0), "comentário historico 2", new TimeSpan(1, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TimeSpan nbHoraFinal = TarefaHistoricoTrabalhoDao.ConsultarHorarioUltimaTarefaDiaColaborador(contexto, colaborador1.Usuario.UserName, DateTime.Now); Assert.AreEqual(new TimeSpan(11, 0, 0), nbHoraFinal, "Deveria ser o mesmo horário, pois o colaborador 1 realizou uma tarefa de 8 às 11 no dia."); }