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 ActionResult CriarHistorico(CriarHistoricoTarefaDto dto) { if (dto == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TarefaHistoricoTrabalhoBo .CriarHistoricoTarefa(dto.OidTarefa, dto.Autor, dto.NbHoraRealizado.ToTimeSpan(), dto.DtRealizado, dto.NbHoraInicial.ToTimeSpan(), dto.NbHoraFinal.ToTimeSpan(), dto.Comentario, dto.NbHoraRestante.ToTimeSpan(), dto.OidSituacaoPlanejamento, dto.JustificativaReducao); return(new HttpStatusCodeResult(HttpStatusCode.Created)); }
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 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"); }
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"); }