public void Deve_Incluir_Calendario_Fundamental_E_Retornar_Acima_200_dias_letivos() { MontarCabecalho(); TipoCalendarioDto tipoCalendario = AdicionarTipoCalendario(ano); var jsonParaPost = new StringContent(JsonConvert.SerializeObject(tipoCalendario), Encoding.UTF8, "application/json"); var postResult = _fixture._clientApi.PostAsync("api/v1/calendarios/tipos", jsonParaPost).Result; Assert.True(postResult.IsSuccessStatusCode); if (postResult.IsSuccessStatusCode) { PeriodoEscolarListaDto periodoEscolar = AdicionarPerioEscolar(ano); var jsonParaPost2 = new StringContent(JsonConvert.SerializeObject(periodoEscolar), Encoding.UTF8, "application/json"); var postResult2 = _fixture._clientApi.PostAsync("api/v1/periodo-escolar", jsonParaPost2).Result; Assert.True(postResult2.IsSuccessStatusCode); var filtro = new FiltroDiasLetivosDTO() { TipoCalendarioId = 1 }; var filtroPeriodoEscolar = new StringContent(JsonConvert.SerializeObject(filtro), Encoding.UTF8, "application/json"); var diasLetivosResponse = _fixture._clientApi.PostAsync("api/v1/calendarios/dias-letivos", filtroPeriodoEscolar).Result; if (diasLetivosResponse.IsSuccessStatusCode) { var diasLetivos = JsonConvert.DeserializeObject <DiasLetivosDto>(diasLetivosResponse.Content.ReadAsStringAsync().Result); Assert.True(diasLetivos.Dias > 0); } } }
public void Deve_Incluir_Tipo_Calendario_e_Periodo_Escolar_e_Editar_Periodo_Escolar() { try { _fixture._clientApi.DefaultRequestHeaders.Clear(); _fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_I })); AdicionarTipoCalendario(); _fixture._clientApi.DefaultRequestHeaders.Clear(); _fixture._clientApi.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PE_I, Permissao.PE_A })); PeriodoEscolarListaDto Dto = AdicionarPeriodo(); EditarPeriodo(Dto); } catch (AggregateException ae) { throw new Exception("Erros: " + string.Join(",", ae.InnerExceptions)); } }
//[Fact, Order(2)] //public void Deve_Consultar_Periodo_Escolar() //{ // _fixture._clientApi.DefaultRequestHeaders.Clear(); // _fixture._clientApi.DefaultRequestHeaders.Authorization = // new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PE_I, Permissao.PE_C })); // var getResult = _fixture._clientApi.GetAsync("api/v1/periodo-escolar?codigoTipoCalendario=1").Result; // Assert.True(getResult.IsSuccessStatusCode); //} //[Fact(DisplayName ="Incluir tipo de calendário e período escola e editar o periodo escolar", Skip ="Quebrando os testes na versão v2.0"), Order(2)] //public void Deve_Incluir_Tipo_Calendario_e_Periodo_Escolar_e_Editar_Periodo_Escolar() //{ // try // { // _fixture._clientApi.DefaultRequestHeaders.Clear(); // _fixture._clientApi.DefaultRequestHeaders.Authorization = // new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_I })); // AdicionarTipoCalendario(); // _fixture._clientApi.DefaultRequestHeaders.Clear(); // _fixture._clientApi.DefaultRequestHeaders.Authorization = // new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.PE_I, Permissao.PE_A })); // PeriodoEscolarListaDto Dto = AdicionarPeriodo(); // EditarPeriodo(Dto); // } // catch (AggregateException ae) // { // throw new Exception("Erros: " + string.Join(",", ae.InnerExceptions)); // } //} private PeriodoEscolarListaDto AdicionarPeriodo() { PeriodoEscolarListaDto Dto = ObtenhaDto(); var jsonParaPost2 = new StringContent(JsonConvert.SerializeObject(Dto), Encoding.UTF8, "application/json"); var postResult2 = _fixture._clientApi.PostAsync("api/v1/periodo-escolar", jsonParaPost2).Result; Assert.True(postResult2.IsSuccessStatusCode); return(Dto); }
public void Salvar(PeriodoEscolarListaDto periodosDto) { if (periodosDto.TipoCalendario == 0) { throw new NegocioException("É necessario informar o tipo de calendario"); } var listaPeriodoEscolar = MapearListaPeriodos(periodosDto); servicoPeriodoEscolar.SalvarPeriodoEscolar(listaPeriodoEscolar, periodosDto.TipoCalendario); }
//TODO VOLTAR A UTILIZAR QUANDO O TESTE DE USUÁRIO FUNCIONAR //public static void AdicionarAula(TestServerFixture _fixture) //{ // var aula = new AulaDto // { // UeId = "094765", // DisciplinaId = "7", // TurmaId = "1992725", // TipoCalendarioId = 1, // TipoAula = Dominio.TipoAula.Normal, // Quantidade = 2, // DataAula = DateTime.Now.Date, // RecorrenciaAula = RecorrenciaAula.AulaUnica // }; // var respostaCadastroAula = ExecutePostAsync(_fixture, $"api/v1/calendarios/professores/aulas", aula); // Assert.True(respostaCadastroAula.IsSuccessStatusCode); //} public static PeriodoEscolarListaDto AdicionarPeriodoEscolar(TestServerFixture _fixture) { _fixture = ObtenhaCabecalhoAuthentication(_fixture, new Permissao[] { Permissao.PE_I }); PeriodoEscolarListaDto dto = ObterPeriodoEscolarDto(); var postResult = ExecutePostAsync(_fixture, "api/v1/periodo-escolar", dto); Assert.True(postResult.IsSuccessStatusCode); return(dto); }
public async Task Salvar(PeriodoEscolarListaDto periodosDto) { var periodosOrdenados = periodosDto.Periodos.OrderBy(p => p.Bimestre); periodosDto.Periodos = periodosOrdenados.ToList(); if (periodosDto.TipoCalendario == 0) { throw new NegocioException("É necessario informar o tipo de calendario"); } var listaPeriodoEscolar = MapearListaPeriodos(periodosDto); await servicoPeriodoEscolar.SalvarPeriodoEscolar(listaPeriodoEscolar, periodosDto.TipoCalendario); }
private IEnumerable <PeriodoEscolar> MapearListaPeriodos(PeriodoEscolarListaDto periodosDto) { var retorno = new List <PeriodoEscolar>(); foreach (var periodo in periodosDto.Periodos) { if (periodo.Id > 0) { retorno.Add(ObterPeriodo(periodo.Id, periodo)); } else { retorno.Add(MapearParaDominio(periodo, periodosDto.TipoCalendario)); } } return(retorno); }
private void EditarPeriodo(PeriodoEscolarListaDto Dto) { Dto.Periodos[0].Id = 1; Dto.Periodos[0].PeriodoInicio = DateTime.Now.AddMinutes(0); Dto.Periodos[0].PeriodoFim = DateTime.Now.AddMinutes(1); Dto.Periodos[1].Id = 2; Dto.Periodos[1].PeriodoInicio = DateTime.Now.AddMinutes(2); Dto.Periodos[1].PeriodoFim = DateTime.Now.AddMinutes(3); Dto.Periodos[2].Id = 3; Dto.Periodos[2].PeriodoInicio = DateTime.Now.AddMinutes(4); Dto.Periodos[2].PeriodoFim = DateTime.Now.AddMinutes(5); Dto.Periodos[3].Id = 4; Dto.Periodos[3].PeriodoInicio = DateTime.Now.AddMinutes(6); Dto.Periodos[3].PeriodoFim = DateTime.Now.AddMinutes(7); var jsonParaPost3 = new StringContent(JsonConvert.SerializeObject(Dto), Encoding.UTF8, "application/json"); var postResult3 = _fixture._clientApi.PostAsync("api/v1/periodo-escolar", jsonParaPost3).Result; Assert.True(postResult3.IsSuccessStatusCode); }
//[Fact, Order(1)] //public async Task Deve_Incluir_Calendario_Fundamental_E_Retornar_Acima_200_dias_letivos() //{ // try // { // MontarCabecalho(); // TipoCalendarioDto tipoCalendario = AdicionarTipoCalendario(ano); // var jsonParaPost = new StringContent(JsonConvert.SerializeObject(tipoCalendario), Encoding.UTF8, "application/json"); // var postResult = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos", jsonParaPost); // Assert.True(postResult.IsSuccessStatusCode); // if (postResult.IsSuccessStatusCode) // { // PeriodoEscolarListaDto periodoEscolar = AdicionarPerioEscolar(ano); // var jsonParaPost2 = new StringContent(JsonConvert.SerializeObject(periodoEscolar), Encoding.UTF8, "application/json"); // var postResult2 = await _fixture._clientApi.PostAsync("api/v1/periodo-escolar", jsonParaPost2); // Assert.True(postResult2.IsSuccessStatusCode); // var filtro = new FiltroDiasLetivosDTO() // { // TipoCalendarioId = 1 // }; // var filtroPeriodoEscolar = new StringContent(JsonConvert.SerializeObject(filtro), Encoding.UTF8, "application/json"); // var diasLetivosResponse = await _fixture._clientApi.PostAsync("api/v1/calendarios/dias-letivos", filtroPeriodoEscolar); // if (diasLetivosResponse.IsSuccessStatusCode) // { // var diasLetivos = JsonConvert.DeserializeObject<DiasLetivosDto>(await diasLetivosResponse.Content.ReadAsStringAsync()); // Assert.True(diasLetivos.Dias > 0); // } // } // } // catch (Exception ex) // { // throw; // } //} private static PeriodoEscolarListaDto AdicionarPerioEscolar(int ano) { var periodoEscolar = new PeriodoEscolarListaDto { TipoCalendario = 1, Periodos = new List <PeriodoEscolarDto> { new PeriodoEscolarDto { Bimestre = 1, PeriodoInicio = new DateTime(ano, 1, 30), PeriodoFim = new DateTime(ano, 4, 30) //61 dias úteis }, new PeriodoEscolarDto { Bimestre = 2, PeriodoInicio = new DateTime(ano, 5, 1), PeriodoFim = new DateTime(ano, 6, 30) //42 dias úteis }, new PeriodoEscolarDto { Bimestre = 3, PeriodoInicio = new DateTime(ano, 8, 1), //43 dias úteis PeriodoFim = new DateTime(ano, 9, 30) }, new PeriodoEscolarDto { Bimestre = 4, PeriodoInicio = new DateTime(ano, 10, 1), //53 dias úteis PeriodoFim = new DateTime(ano, 12, 15) //aumentar }, } }; return(periodoEscolar); }
public async Task <IActionResult> Post([FromBody] PeriodoEscolarListaDto periodos, [FromServices] IComandosPeriodoEscolar comandoPeriodo) { await comandoPeriodo.Salvar(periodos); return(Ok()); }
public IActionResult Post([FromBody] PeriodoEscolarListaDto periodos, [FromServices] IComandosPeriodoEscolar comandoPeriodo) { comandoPeriodo.Salvar(periodos); return(Ok()); }
private async Task <IEnumerable <DataAulasProfessorDto> > ObterAulasNosPeriodos(PeriodoEscolarListaDto periodosEscolares, int anoLetivo, string turmaCodigo, string disciplinaCodigo, Usuario usuarioLogado, string usuarioRF) { if (disciplinaCodigo.ToCharArray().Any(a => !char.IsDigit(a))) { throw new NegocioException("Código da disciplina inválido"); } var disciplina = await consultasDisciplina.ObterDisciplina(Convert.ToInt64(disciplinaCodigo)); if (disciplina == null) { throw new NegocioException("Disciplina não encontrada"); } var aulasRetorno = new List <DataAulasProfessorDto>(); periodosEscolares.Periodos.ForEach(p => { var aulas = repositorio .ObterDatasDeAulasPorAnoTurmaEDisciplina(p.Id, anoLetivo, turmaCodigo, disciplinaCodigo, disciplina.Regencia ? string.Empty : usuarioRF, usuarioLogado.EhProfessorCj(), usuarioLogado.EhProfessor() || usuarioLogado.EhProfessorCj()); aulas.ToList().ForEach(aula => { if (!disciplina.Regencia) { aulasRetorno.Add(MapearParaDto(aula, p.Bimestre)); } var rfsOrnedadosPorDataCriacaoAula = aulas.OrderBy(a => a.CriadoEm) .Select(a => a.ProfessorRf).Distinct(); var ultimoRegente = rfsOrnedadosPorDataCriacaoAula.Last(); // se regente atual, titular anterior ou professor anterior visualiza a aula if (ultimoRegente.Equals(usuarioRF, StringComparison.InvariantCultureIgnoreCase) || aula.ProfessorRf.Equals(usuarioRF, StringComparison.InvariantCultureIgnoreCase) || aula.Turma.EhTurmaInfantil || usuarioLogado.PerfilAtual != Perfis.PERFIL_PROFESSOR || usuarioLogado.PerfilAtual != Perfis.PERFIL_CJ || usuarioLogado.PerfilAtual != Perfis.PERFIL_CJ_INFANTIL ) { aulasRetorno.Add(MapearParaDto(aula, p.Bimestre)); } }); }); return(aulasRetorno.OrderBy(a => a.Data)); }