示例#1
0
        public void ValidarCronograma(CronogramaPactoViewModel cronogramaPactoVM)
        {
            var cronogramaPacto = Mapper.Map <CronogramaPactoViewModel, CronogramaPacto>(cronogramaPactoVM);

            var pactosConcorrentes = _pactoService.GetPactosConcorrentes(cronogramaPacto.DataInicial, DateTime.Now.AddYears(1), cronogramaPacto.CPFUsuario, cronogramaPacto.IdPacto);

            _cronogramaService.ValidarCronograma(cronogramaPacto, pactosConcorrentes, cronogramaPactoVM.ValidarHorasADistribuir);
            cronogramaPactoVM.ValidationResult = cronogramaPacto.ValidationResult;
        }
示例#2
0
        public void TestValidar()
        {
            var dia1 = new Cronograma
            {
                DataCronograma  = DateTime.Now.AddDays(-2),
                HorasCronograma = 9,
                DiaUtil         = true,
                Feriado         = false
            };
            var dia2 = new Cronograma
            {
                DataCronograma  = DateTime.Now.AddDays(-1),
                HorasCronograma = 8,
                DiaUtil         = false,
                Feriado         = true,
                DuracaoFeriado  = 4
            };
            var dia3 = new Cronograma
            {
                DataCronograma  = DateTime.Now.Date,
                HorasCronograma = 8,
                DiaUtil         = true,
                Feriado         = false
            };
            var dia4 = new Cronograma
            {
                DataCronograma  = DateTime.Now.AddDays(1),
                HorasCronograma = 9,
                DiaUtil         = true,
                Feriado         = false
            };

            var cronogramaPacto = new CronogramaPacto()
            {
                CPFUsuario            = "123123123123",
                DataInicial           = DateTime.Now.AddDays(-2),
                DataInicioImpedimento = DateTime.Now.Date,
                HorasDiarias          = 8,
                HorasTotais           = 20,
                Cronogramas           = new List <Cronograma> {
                    dia1, dia2, dia3, dia4
                }
            };


            _cronogramaService.ValidarCronograma(cronogramaPacto, new List <Pacto>());

            Assert.IsTrue(cronogramaPacto.ValidationResult.Erros.Any(e => e.Message == "Não é possível salvar o cronograma. Existem horas excedentes."));
            Assert.IsTrue(cronogramaPacto.ValidationResult.Erros.Any(e => e.Message.StartsWith($"{ dia1.DataCronograma.ToString("dd/MM/yyyy")} - Quantidade de horas superior ao máximo de horas permitidas por dia ")));
            Assert.IsTrue(cronogramaPacto.ValidationResult.Erros.Any(e => e.Message == $"{ dia2.DataCronograma.ToString("dd/MM/yyyy")} - Quantidade de horas superior ao máximo de horas permitidas no feriado."));
        }