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 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 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 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 CriarCapacidadeDePlanejamentoParaOCronogramaAtualQuandoHouverCapacidadeCadastradaParaODiaAtual()
        {
            var situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true);
            var cronograma           = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(2013, 11, 1), new DateTime(2013, 11, 10), true);
            var capacidadePlan       = new CronogramaCapacidadePlan()
            {
                Cronograma       = cronograma,
                DtDia            = new DateTime(2013, 11, 1),
                HorasCapacidade  = TimeSpan.Zero,
                HorasDiaAnterior = TimeSpan.Zero,
                HorasPlanejadas  = TimeSpan.Zero
            };

            CronogramaCapacidadePlanDao.CriarCapacidadePlanejamento(contexto, cronograma, capacidadePlan);


            var segundaCapacidadePlan = new CronogramaCapacidadePlan()
            {
                Cronograma       = cronograma,
                DtDia            = new DateTime(2013, 11, 1),
                HorasCapacidade  = TimeSpan.Zero,
                HorasDiaAnterior = TimeSpan.Zero,
                HorasPlanejadas  = TimeSpan.Zero
            };

            CronogramaCapacidadePlanDao.CriarCapacidadePlanejamento(contexto, cronograma, segundaCapacidadePlan);
        }
        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);
        }
        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);
        }
Example #8
0
        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");
        }
Example #9
0
 public void CriarContexto()
 {
     situacoesPlanejamento = new List <SituacaoPlanejamento>();
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Cancelado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Não, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Impedimento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Impedimento, CsPadraoSistema.Não, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Pronto", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Encerramento, CsPadraoSistema.Não, true));
 }
        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");
        }
        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.");
        }
 public void Inicializar()
 {
     situacoesPlanejamento = new List <SituacaoPlanejamento>();
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Cancelado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Não, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Impedimento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Impedimento, CsPadraoSistema.Não, true));
     situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Pronto", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Encerramento, CsPadraoSistema.Não, true));
     Cronograma         = CronogramaBo.CriarCronogramaPadrao();
     _tarefasImpactadas = new List <CronogramaTarefa>();
     _dataAcao          = new DateTime();
 }
        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.");
        }
Example #14
0
        public void DadoQueExistaMASSituacaoOesDePlanejamentoASeguir(Table table)
        {
            CsPadraoSistema    padraoSistema    = CsPadraoSistema.Não;
            CsTipoPlanejamento tipoPlanejamento = CsTipoPlanejamento.Cancelamento;

            for (int i = 0; i < table.RowCount; i++)
            {
                padraoSistema = SituacaoPlanejamentoBddHelper.ConverterSituacaoPadraoSistemaStrinParaSituacaoPadraoSistemaDomain(table.Rows[i][table.Header.ToList()[3]]);

                tipoPlanejamento = SituacaoPlanejamentoBddHelper.ConverterTipoPlanejamentoStringParaTipoPlanejamentoDomain(table.Rows[i][table.Header.ToList()[0]]);

                CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, table.Rows[i][table.Header.ToList()[1]], CsTipoSituacaoPlanejamento.Ativo, tipoPlanejamento, padraoSistema);
            }
        }
        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.");
        }
Example #16
0
        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 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.");
        }
Example #19
0
        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 CriarCapacidadeDePlanejamentoParaOCronogramaAtualQuandoNaoHouverCapacidadeCadastradaParaODiaAtual()
        {
            var situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true);
            var cronograma           = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(2013, 11, 1), new DateTime(2013, 11, 10), true);
            var capacidadePlan       = new CronogramaCapacidadePlan()
            {
                Cronograma       = cronograma,
                DtDia            = new DateTime(2013, 11, 1),
                HorasCapacidade  = TimeSpan.Zero,
                HorasDiaAnterior = TimeSpan.Zero,
                HorasPlanejadas  = TimeSpan.Zero
            };

            CronogramaCapacidadePlanDao.CriarCapacidadePlanejamento(contexto, cronograma, capacidadePlan);
            var capacidadePlanEsperada = CronogramaCapacidadePlanDao.ConsultarCronogramaCapacidadePlanPorOid(contexto, capacidadePlan.Oid);

            Assert.IsTrue(capacidadePlan.Equals(capacidadePlanEsperada), "Deveria possuir os mesmos valores");
        }
Example #22
0
        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.");
        }
        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 ExcluirCronogramaQuandoCronogramaPossuirTarefasEUltimaSelecaoParaUmUsuarioTest()
        {
            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 colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", new DateTime(), "*****@*****.**", "Anderson", "", "Lins", "anderson.lins", null, true);

            CronogramaTarefa cronogramaTarefa = CronogramaFactoryEntity.CriarTarefa(contexto, 1, "Tarefa 01", "", situacaoPlanejamento, 0, new TimeSpan(), colaborador, cronograma1, null, true);

            CronogramaUltimaSelecao ultimaSelecao = new CronogramaUltimaSelecao();

            ultimaSelecao.DataAcesso          = DateTime.Now;
            ultimaSelecao.Usuario             = colaborador.Usuario;
            ultimaSelecao.OidUltimoCronograma = cronograma1.Oid;
            ultimaSelecao.Cronograma          = cronograma1;

            bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid);

            Assert.IsTrue(cronogramaExcluido, "Deveria ser true, pois o cronograma exclui quaisquer tarefas associadas a ele.");
        }
        public void CriarTarefaQuandoHouverUmOuMaisResponsaveisTest()
        {
            //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);



            Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "pedro.lins", true);

            colaborador2.Usuario.UserName = "******";

            Colaborador colaborador3 = ColaboradorFactoryEntity.CriarColaborador(contexto, "joao.lins", true);

            colaborador3.Usuario.UserName = "******";

            string responsaveis = String.Format("{0},{1},{2}", colaborador1.NomeCompleto, colaborador2.NomeCompleto, colaborador3.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");

            //verifica se os responsáveis são os mesmos.
            Assert.AreEqual(responsaveis, tarefaCriada.TxResponsaveis, "Deveria ser a mesma string com os mesmos colaboradores.");
        }
        public void EditarTarefaQuandoSalvarLinhaBaseTarefaTest()
        {
            //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, o => o.Cronograma, o => o.Tarefa.AtualizadoPor.Usuario.Person, o => o.Tarefa);

            bool salvarLinhaBaseTarefa = true;

            TimeSpan estimativaRestante = TarefaDao.ConsultarTarefaPorOid((Guid)tarefaCriada.OidTarefa).EstimativaRestanteHora;

            string responsaveisTarefaEdicao = colaborador1.NomeCompleto;

            TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), tarefaCriada.Tarefa.TxDescricao, tarefaCriada.Tarefa.SituacaoPlanejamento.Oid.ToString(), colaborador1.Usuario.UserName,
                                  tarefaCriada.Tarefa.TxObservacao, responsaveisTarefaEdicao, tarefaCriada.Tarefa.NbEstimativaInicial, estimativaRestante, new TimeSpan(0), salvarLinhaBaseTarefa, dataInicio);

            //busca tarefa criada
            CronogramaTarefa tarefaAlterada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(tarefaCriada.Oid, o => o.Tarefa.SituacaoPlanejamento, o => o.Cronograma, o => o.Tarefa.AtualizadoPor.Usuario.Person, o => o.Tarefa.LogsAlteracao, o => o.Tarefa.TarefaHistoricoTrabalhos, o => o.Tarefa.TarefaResponsaveis);

            Assert.AreEqual(salvarLinhaBaseTarefa, tarefaAlterada.Tarefa.CsLinhaBaseSalva, "Deveria ter salvo a linha de base");
            Assert.AreEqual(estimativaRestante, tarefaAlterada.Tarefa.NbEstimativaRestante.ToTimeSpan(), "Deveria ter mudado a estimativa restando, pois salvou a linha de base");
        }
        public void CriarTarefaQuandoCriarLogPrimeiraVezTest()
        {
            //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);

            DateUtil.CurrentDateTime = (DateTime)tarefa.DtAtualizadoEm;

            Assert.AreEqual(DateUtil.CurrentDateTime, tarefa.DtAtualizadoEm);
            Assert.AreEqual(colaborador1.NomeCompleto, TarefaDao.ConsultarTarefaPorOid(tarefa.Oid, o => o.AtualizadoPor.Usuario.Person).AtualizadoPor.NomeCompleto);
        }
Example #28
0
        public void RnValidarTarefaEditadaQuandoEstimativaInicialSejaAlteradaTest()
        {
            //cria situação planejamento
            SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1",
                                                                                                           CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução,
                                                                                                           CsPadraoSistema.Sim, true);

            //cria cronograma
            Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento1, new DateTime(),
                                                                             new DateTime(), true);

            //cria colaborador
            Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true);

            //adiciona colaborador como responsável pela tarefa
            string responsaveis = colaborador1.NomeCompleto;

            List <CronogramaTarefa> tarefasImpactadas;
            DateTime dataHoraAcao = new DateTime();
            //cria tarefa a partir da RnIncluirTarefa em CronogramaTarefa
            CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronograma1.Oid, "Tarefa 01", situacaoPlanejamento1, DateTime.Now, responsaveis, colaborador1.Usuario.UserName, out tarefasImpactadas, ref dataHoraAcao, "Criar método1", 3, 0);

            //recupera a tarefa criada
            CronogramaTarefa tarefa = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(novaTarefa.Oid, o => o.Tarefa.SituacaoPlanejamento);

            //criar um Dto da tarefa e repassa as informações para poder utilizar o método que está sendo testado
            CronogramaTarefaGridItem tarefaDto = new CronogramaTarefaGridItem();

            tarefaDto.OidCronogramaTarefa = tarefa.Oid;
            tarefaDto.TxDescricaoSituacaoPlanejamentoTarefa = tarefa.Tarefa.SituacaoPlanejamento.TxDescricao;
            tarefaDto.NbEstimativaInicial  = tarefa.Tarefa.NbEstimativaInicial;
            tarefaDto.NbEstimativaRestante = tarefa.Tarefa.NbEstimativaRestante;

            //adiciona tarefa na lista de tarefas antigas (antes de serem alteradas)
            List <CronogramaTarefaGridItem> tarefasAntigas = new List <CronogramaTarefaGridItem>();

            tarefasAntigas.Add(tarefaDto);

            //cria uma tarefa Dto alterada e modifica o campo situação de planejamento
            CronogramaTarefaGridItem tarefaDtoAlterada = new CronogramaTarefaGridItem();

            tarefaDtoAlterada.OidCronogramaTarefa = tarefaDto.OidCronogramaTarefa;
            tarefaDtoAlterada.TxDescricaoSituacaoPlanejamentoTarefa = tarefaDto.TxDescricaoSituacaoPlanejamentoTarefa;
            tarefaDtoAlterada.NbEstimativaInicial  = 5;
            tarefaDtoAlterada.NbEstimativaRestante = tarefaDto.NbEstimativaRestante;

            //adiciona a tarefa na lista de tarefas modificadas.
            List <CronogramaTarefaGridItem> tarefasAtualizadas = new List <CronogramaTarefaGridItem>();

            tarefasAtualizadas.Add(tarefaDtoAlterada);

            //valida os campos alterados
            Hashtable camposAlterados = TarefaEditada.ValidarCamposRelevantesAlterados(tarefasAntigas, tarefasAtualizadas);

            List <int> campos = new List <int>();

            campos = (List <int>)camposAlterados[tarefaDto.OidCronogramaTarefa];

            Assert.AreEqual(1, campos.Count, "Deveria ter sido alterado apenas um campo.");
            Assert.AreEqual((int)CsTipoCampoEditado.EstimativaInicial, campos[0], "O campo alterado deveria ser do mesmo Tipo");
            Assert.AreNotEqual(tarefaDto.NbEstimativaInicial, tarefaDtoAlterada.NbEstimativaInicial, "Não deveriam ser iguais, pois o campo foi alterado.");
        }
Example #29
0
        public void DevePesquisarADataEHoraDaUltimaHoraTrabalhadaPeloColaborador()
        {
            #region Construção Cenário
            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);

            Cronograma cronograma1 = new Cronograma()
            {
                DtInicio             = new DateTime(2013, 02, 1),
                DtFinal              = new DateTime(2013, 02, 15),
                TxDescricao          = "WexCronograma1",
                SituacaoPlanejamento = situacaoPlanejamentoEmAndamento
            };
            contexto.Cronograma.Add(cronograma1);
            contexto.SaveChanges();

            Cronograma cronograma2 = new Cronograma()
            {
                DtInicio             = new DateTime(2013, 02, 1),
                DtFinal              = new DateTime(2013, 02, 16),
                TxDescricao          = "WexCronograma2",
                SituacaoPlanejamento = situacaoPlanejamentoEmAndamento
            };
            contexto.Cronograma.Add(cronograma2);
            contexto.SaveChanges();

            Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true);

            string responsaveis = colaborador1.NomeCompleto;

            Tarefa tarefa1 = new Tarefa()
            {
                DtInicio             = new DateTime(2013, 02, 25),
                CsLinhaBaseSalva     = true,
                TxDescricao          = "Cria método Cadastro",
                TxResponsaveis       = colaborador1.NomeCompleto,
                NbEstimativaInicial  = 8,
                SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado,
                AtualizadoPor        = colaborador1
            };
            contexto.Tarefa.Add(tarefa1);
            contexto.SaveChanges();

            Tarefa tarefa2 = new Tarefa()
            {
                DtInicio             = new DateTime(2013, 02, 25),
                CsLinhaBaseSalva     = true,
                TxDescricao          = "Criar método Exclusão",
                TxResponsaveis       = colaborador1.NomeCompleto,
                NbEstimativaInicial  = 4,
                SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado,
                AtualizadoPor        = colaborador1
            };
            contexto.Tarefa.Add(tarefa2);
            contexto.SaveChanges();
            #endregion

            CronogramaTarefa cronogramaTarefa = new CronogramaTarefa()
            {
                Cronograma = cronograma1, NbID = 1, Tarefa = tarefa1
            };
            contexto.CronogramaTarefa.Add(cronogramaTarefa);
            contexto.SaveChanges();
            CronogramaTarefa cronogramaTarefa2 = new CronogramaTarefa()
            {
                Cronograma = cronograma2, NbID = 1, Tarefa = tarefa2
            };
            contexto.CronogramaTarefa.Add(cronogramaTarefa2);
            contexto.SaveChanges();
            DateTime dataRealizado = DateTime.Now;

            TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa1.Oid, colaborador1.Usuario.UserName, new TimeSpan(2, 0, 0), dataRealizado, new TimeSpan(8, 0, 0), new TimeSpan(10, 0, 0), "comentário", new TimeSpan(6, 0, 0), situacaoPlanejamentoEmAndamento.Oid, "");

            TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa1.Oid, colaborador1.Usuario.UserName, new TimeSpan(1, 0, 0), dataRealizado, new TimeSpan(11, 0, 0), new TimeSpan(12, 0, 0), "comentário", new TimeSpan(2, 0, 0), situacaoPlanejamentoEmAndamento.Oid, "");

            TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa2.Oid, colaborador1.Usuario.UserName, new TimeSpan(1, 0, 0), dataRealizado, new TimeSpan(10, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(3, 0, 0), situacaoPlanejamentoEmAndamento.Oid, "");

            TarefaHistoricoTrabalhoDto historicoTrabalhoMaisRecente = TarefaHistoricoTrabalhoBo.ConsultarUltimoEsforcoRealizadoColaboradorDto(contexto, colaborador1.Usuario.UserName);
            Assert.IsNotNull(historicoTrabalhoMaisRecente, "Deveria ter encontrado pois foi criado histórico para tarefa");
            Assert.AreEqual(dataRealizado, historicoTrabalhoMaisRecente.DtRealizado, "Deveria ser a mesma data realizada");
            Assert.AreEqual(new TimeSpan(12, 0, 0), historicoTrabalhoMaisRecente.NbHoraFinal, "O horário final deveria ser igual ao horário final do ultimo esforço do colaborador");
        }
Example #30
0
        public void ConsultarHorarioUltimaTarefaDiaColaboradorQuandoColaboradorTiverRealizadoTarefasEmDiferentesCronogramas()
        {
            #region Construção Cenário
            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);

            Cronograma cronograma1 = new Cronograma()
            {
                DtInicio             = new DateTime(2013, 02, 1),
                DtFinal              = new DateTime(2013, 02, 15),
                TxDescricao          = "WexCronograma1",
                SituacaoPlanejamento = situacaoPlanejamentoEmAndamento
            };
            contexto.Cronograma.Add(cronograma1);
            contexto.SaveChanges();

            Cronograma cronograma2 = new Cronograma()
            {
                DtInicio             = new DateTime(2013, 02, 1),
                DtFinal              = new DateTime(2013, 02, 16),
                TxDescricao          = "WexCronograma2",
                SituacaoPlanejamento = situacaoPlanejamentoEmAndamento
            };
            contexto.Cronograma.Add(cronograma2);
            contexto.SaveChanges();

            Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true);

            string responsaveis = colaborador1.NomeCompleto;

            Tarefa tarefa1 = new Tarefa()
            {
                DtInicio             = new DateTime(2013, 02, 25),
                CsLinhaBaseSalva     = true,
                TxDescricao          = "Cria método Cadastro",
                TxResponsaveis       = colaborador1.NomeCompleto,
                NbEstimativaInicial  = 8,
                SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado,
                AtualizadoPor        = colaborador1
            };
            contexto.Tarefa.Add(tarefa1);
            contexto.SaveChanges();

            Tarefa tarefa2 = new Tarefa()
            {
                DtInicio             = new DateTime(2013, 02, 25),
                CsLinhaBaseSalva     = true,
                TxDescricao          = "Criar método Exclusão",
                TxResponsaveis       = colaborador1.NomeCompleto,
                NbEstimativaInicial  = 4,
                SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado,
                AtualizadoPor        = colaborador1
            };
            contexto.Tarefa.Add(tarefa2);
            contexto.SaveChanges();
            #endregion

            CronogramaTarefa cronogramaTarefa = new CronogramaTarefa()
            {
                Cronograma = cronograma1, NbID = 1, Tarefa = tarefa1
            };
            contexto.CronogramaTarefa.Add(cronogramaTarefa);
            contexto.SaveChanges();
            CronogramaTarefa cronogramaTarefa2 = new CronogramaTarefa()
            {
                Cronograma = cronograma2, NbID = 1, Tarefa = tarefa2
            };
            contexto.CronogramaTarefa.Add(cronogramaTarefa2);
            contexto.SaveChanges();

            TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa1.Oid, colaborador1.Usuario.UserName, new TimeSpan(2, 0, 0), DateTime.Now, new TimeSpan(8, 0, 0), new TimeSpan(10, 0, 0), "comentário", new TimeSpan(6, 0, 0), situacaoPlanejamentoEmAndamento.Oid, "");

            TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa2.Oid, colaborador1.Usuario.UserName, new TimeSpan(1, 0, 0), DateTime.Now, new TimeSpan(10, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(3, 0, 0), situacaoPlanejamentoEmAndamento.Oid, "");

            TimeSpan nbHoraFinal = TarefaHistoricoTrabalhoDao.ConsultarHorarioUltimaTarefaDiaColaborador(contexto, colaborador1.Usuario.UserName, DateTime.Now);

            Assert.AreEqual(new TimeSpan(11, 0, 0), nbHoraFinal, "A hora final deveria ser igual a 11:00 pois o colaborador investiu esforço realizado " +
                            " em outra tarefa independente do cronograma em que está lançando a hora realizada");
        }