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; }
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.")); }