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 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 #3
0
        /// <summary>
        /// Método para criar uma capacidade de planejamento
        /// </summary>
        /// <param name="contexto">contexto</param>
        /// <param name="cronogramaAtual">cronograma atual</param>
        /// <param name="capacidade">capacidade de planejamento atual</param>
        public static void CriarCapacidadePlanejamento(WexDb contexto, Cronograma cronogramaAtual, CronogramaCapacidadePlan capacidade)
        {
            if (capacidade.DtDia < cronogramaAtual.DtInicio || capacidade.DtDia > cronogramaAtual.DtFinal)
            {
                throw new CapacidadePlanejamentoForaDoPeriodoCronogramaException(string.Format("A data da capacidade de planejamento deveria estar entre {0} e {1} atual:{2}",
                                                                                               cronogramaAtual.DtInicio, cronogramaAtual.DtFinal, capacidade.DtDia));
            }

            if (!ValidarCronogramaCapacidadePlanUnicaPorDia(cronogramaAtual, capacidade.DtDia))
            {
                throw new CronogramaCapacidadePlanDataJaCadastradaException("Já existe capacidade de planejamento cadastrada para a data atual");
            }

            capacidade.Cronograma = cronogramaAtual;
            contexto.CronogramaCapacidadePlan.Add(capacidade);
            contexto.SaveChanges();
        }