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);
                }
            }
        }
Exemplo n.º 2
0
        public void ExecutarMetodosAsync(TipoCalendarioDto dto, bool inclusao, TipoCalendario tipoCalendario)
        {
            servicoFeriadoCalendario.VerficaSeExisteFeriadosMoveisEInclui(dto.AnoLetivo);

            if (inclusao)
            {
                servicoEvento.SalvarEventoFeriadosAoCadastrarTipoCalendario(tipoCalendario);
            }
        }
Exemplo n.º 3
0
        private RelatorioImpressaoCalendarioDto MontarCabecalho(Dre dre, Ue ue, TipoCalendarioDto tipoCalendarioDto)
        {
            var retorno = new RelatorioImpressaoCalendarioDto();

            retorno.DreNome            = dre == null ? "TODAS" : dre.Abreviacao;
            retorno.TipoCalendarioNome = tipoCalendarioDto.Nome;
            retorno.UeNome             = ue == null ? "TODAS" : ue.NomeComTipoEscola;

            return(retorno);
        }
Exemplo n.º 4
0
 public ObterRelatorioImpressaoCalendarioQuery(Dre dre, Ue ue, TipoCalendarioDto tipoCalendario, bool ehSME, string usuarioRF, Guid usuarioPerfil, bool consideraPendenteAprovacao, bool podeVisualizarEventosOcorrenciaDre)
 {
     Dre                                = dre;
     Ue                                 = ue;
     TipoCalendario                     = tipoCalendario;
     EhSME                              = ehSME;
     UsuarioRF                          = usuarioRF;
     UsuarioPerfil                      = usuarioPerfil;
     ConsideraPendenteAprovacao         = consideraPendenteAprovacao;
     PodeVisualizarEventosOcorrenciaDre = podeVisualizarEventosOcorrenciaDre;
 }
        public async Task Deve_Incluir_Calendario_E_Feriados_Moveis()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_C, Permissao.TCE_I, Permissao.TCE_E, Permissao.TF_C }));

            var calendarioParaIncluir = new TipoCalendarioDto()
            {
                AnoLetivo        = 2019,
                DescricaoPeriodo = "Teste",
                Modalidade       = Dominio.ModalidadeTipoCalendario.EJA,
                Nome             = "Calendário de teste",
                Periodo          = Dominio.Periodo.Anual,
                Situacao         = true
            };

            var jsonParaPostCalendario     = new StringContent(TransformarEmJson(calendarioParaIncluir), Encoding.UTF8, "application/json");
            var postResultIncluiCalendario = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos/", jsonParaPostCalendario);

            Assert.True(postResultIncluiCalendario.IsSuccessStatusCode);

            if (postResultIncluiCalendario.IsSuccessStatusCode)
            {
                var buscarTodosCalendariosResultado = await _fixture._clientApi.GetAsync($"api/v1/calendarios/tipos");

                Assert.True(buscarTodosCalendariosResultado.IsSuccessStatusCode);
                if (buscarTodosCalendariosResultado.IsSuccessStatusCode)
                {
                    var dtoTodos = JsonConvert.DeserializeObject <IEnumerable <TipoCalendarioDto> >(await buscarTodosCalendariosResultado.Content.ReadAsStringAsync());
                    Assert.True(dtoTodos.Any());

                    var filtroFeriadoCalendarioDto = new FiltroFeriadoCalendarioDto()
                    {
                        Tipo = Dominio.TipoFeriadoCalendario.Movel, Ano = 2019
                    };

                    var jsonParaPostFiltroFeriados = new StringContent(TransformarEmJson(filtroFeriadoCalendarioDto), Encoding.UTF8, "application/json");

                    Thread.Sleep(2000);

                    var postResultBuscaFeriados = await _fixture._clientApi.PostAsync("api/v1/calendarios/feriados/listar", jsonParaPostFiltroFeriados);

                    Assert.True(postResultBuscaFeriados.IsSuccessStatusCode);
                    if (postResultBuscaFeriados.IsSuccessStatusCode)
                    {
                        var dtoFeriados = JsonConvert.DeserializeObject <IEnumerable <FeriadoCalendarioDto> >(await postResultBuscaFeriados.Content.ReadAsStringAsync());
                        Assert.True(dtoFeriados.Count() == 4);
                    }
                }
            }
        }
Exemplo n.º 6
0
        private void AdicionarTipoCalendario()
        {
            var tipoCalendarioDto = new TipoCalendarioDto();

            tipoCalendarioDto.AnoLetivo  = 2019;
            tipoCalendarioDto.Nome       = "Teste Periodo Escolar";
            tipoCalendarioDto.Periodo    = Periodo.Anual;
            tipoCalendarioDto.Modalidade = ModalidadeTipoCalendario.FundamentalMedio;
            tipoCalendarioDto.Situacao   = true;

            var jsonParaPost = new StringContent(JsonConvert.SerializeObject(tipoCalendarioDto), UnicodeEncoding.UTF8, "application/json");
            var postResult   = _fixture._clientApi.PostAsync("api/v1/calendarios/tipos", jsonParaPost).Result;

            Assert.True(postResult.IsSuccessStatusCode);
        }
Exemplo n.º 7
0
        public async Task Incluir(TipoCalendarioDto dto)
        {
            var tipoCalendario = MapearParaDominio(dto, 0);

            bool ehRegistroExistente = await repositorio.VerificarRegistroExistente(0, dto.Nome);

            if (ehRegistroExistente)
            {
                throw new NegocioException($"O Tipo de Calendário Escolar '{dto.Nome}' já existe");
            }

            repositorio.Salvar(tipoCalendario);

            SME.Background.Core.Cliente.Executar <IComandosTipoCalendario>(x => x.ExecutarMetodosAsync(dto, true, tipoCalendario));
        }
Exemplo n.º 8
0
        public TipoCalendario MapearParaDominio(TipoCalendarioDto dto)
        {
            TipoCalendario entidade = repositorio.ObterPorId(dto.Id);

            if (entidade == null)
            {
                entidade = new TipoCalendario();
            }

            entidade.Nome       = dto.Nome;
            entidade.AnoLetivo  = dto.AnoLetivo;
            entidade.Periodo    = dto.Periodo;
            entidade.Situacao   = dto.Situacao;
            entidade.Modalidade = dto.Modalidade;
            return(entidade);
        }
Exemplo n.º 9
0
        public async Task ExecutarMetodosAsync(TipoCalendarioDto dto, bool inclusao, TipoCalendario tipoCalendario)
        {
            servicoFeriadoCalendario.VerficaSeExisteFeriadosMoveisEInclui(dto.AnoLetivo);

            if (inclusao)
            {
                servicoEvento.SalvarEventoFeriadosAoCadastrarTipoCalendario(tipoCalendario);

                var existeParametro = await mediator.Send(new VerificaSeExisteParametroSistemaPorAnoQuery(dto.AnoLetivo));

                if (!existeParametro)
                {
                    await mediator.Send(new ReplicarParametrosAnoAnteriorCommand(dto.AnoLetivo));
                }
            }
        }
Exemplo n.º 10
0
        public static void AdicionarTipoCalendario(TestServerFixture _fixture)
        {
            _fixture = ObtenhaCabecalhoAuthentication(_fixture, new Permissao[] { Permissao.TCE_I });

            var tipoCalendarioDto = new TipoCalendarioDto();

            tipoCalendarioDto.AnoLetivo  = 2019;
            tipoCalendarioDto.Nome       = "Teste Periodo Escolar";
            tipoCalendarioDto.Periodo    = Periodo.Anual;
            tipoCalendarioDto.Modalidade = ModalidadeTipoCalendario.FundamentalMedio;
            tipoCalendarioDto.Situacao   = true;

            var postResult = ExecutePostAsync(_fixture, "api/v1/calendarios/tipos", tipoCalendarioDto);

            Assert.True(postResult.IsSuccessStatusCode);
        }
Exemplo n.º 11
0
        public async Task Salvar(TipoCalendarioDto dto)
        {
            var inclusao = dto.Id == 0;

            var tipoCalendario = MapearParaDominio(dto);

            bool ehRegistroExistente = await repositorio.VerificarRegistroExistente(dto.Id, dto.Nome);

            if (ehRegistroExistente)
            {
                throw new NegocioException($"O Tipo de Calendário Escolar '{dto.Nome}' já existe");
            }

            repositorio.Salvar(tipoCalendario);

            await ExecutarMetodosAsync(dto, inclusao, tipoCalendario).ConfigureAwait(false);
        }
Exemplo n.º 12
0
        public TipoCalendario MapearParaDominio(TipoCalendarioDto dto, long id)
        {
            TipoCalendario entidade      = repositorio.ObterPorId(id);
            bool           possuiEventos = repositorioEvento.ExisteEventoPorTipoCalendarioId(id);

            if (entidade == null)
            {
                entidade = new TipoCalendario();
            }

            entidade.Nome     = dto.Nome;
            entidade.Situacao = dto.Situacao;

            if (!possuiEventos)
            {
                entidade.AnoLetivo  = dto.AnoLetivo;
                entidade.Periodo    = dto.Periodo;
                entidade.Modalidade = dto.Modalidade;
            }
            return(entidade);
        }
        public async Task Deve_Incluir_Excluir_Consular_Tipo_Calendario()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TCE_C, Permissao.TCE_I, Permissao.TCE_E }));

            var tipoCalendarioDto = new TipoCalendarioDto();

            tipoCalendarioDto.AnoLetivo  = 2019;
            tipoCalendarioDto.Nome       = "Teste 1";
            tipoCalendarioDto.Periodo    = Periodo.Anual;
            tipoCalendarioDto.Modalidade = ModalidadeTipoCalendario.FundamentalMedio;
            tipoCalendarioDto.Situacao   = true;

            var tipoCalendarioDto2 = new TipoCalendarioDto();

            tipoCalendarioDto2.AnoLetivo  = 2019;
            tipoCalendarioDto2.Nome       = "Teste 2";
            tipoCalendarioDto2.Periodo    = Periodo.Semestral;
            tipoCalendarioDto2.Modalidade = ModalidadeTipoCalendario.FundamentalMedio;
            tipoCalendarioDto2.Situacao   = true;

            var jsonParaPost = new StringContent(TransformarEmJson(tipoCalendarioDto), UnicodeEncoding.UTF8, "application/json");
            var postResult   = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos/", jsonParaPost);

            Assert.True(postResult.IsSuccessStatusCode);

            if (postResult.IsSuccessStatusCode)
            {
                var jsonParaPost2 = new StringContent(TransformarEmJson(tipoCalendarioDto2), UnicodeEncoding.UTF8, "application/json");
                var postResult2   = await _fixture._clientApi.PostAsync("api/v1/calendarios/tipos/", jsonParaPost2);

                Assert.True(postResult2.IsSuccessStatusCode);

                if (postResult2.IsSuccessStatusCode)
                {
                    var getAllResult = await _fixture._clientApi.GetAsync($"api/v1/calendarios/tipos/");

                    var dtoTodos = JsonConvert.DeserializeObject <IEnumerable <TipoCalendarioDto> >(getAllResult.Content.ReadAsStringAsync().Result);

                    Assert.True(dtoTodos.Any());

                    var feriadoParaExcluir = dtoTodos.ElementAt(0);

                    var ids = new long[1];
                    ids[0] = feriadoParaExcluir.Id;

                    var jsonDelete             = new StringContent(JsonConvert.SerializeObject(ids), UnicodeEncoding.UTF8, "application/json");
                    HttpRequestMessage request = new HttpRequestMessage
                    {
                        Content    = jsonDelete,
                        Method     = HttpMethod.Delete,
                        RequestUri = new Uri($"{ _fixture._clientApi.BaseAddress}api/v1/calendarios/tipos/")
                    };

                    var deleteResult = await _fixture._clientApi.SendAsync(request);

                    Assert.False(deleteResult.IsSuccessStatusCode);
                    var feriadoParaConsultar = dtoTodos.ElementAt(1);
                    var getOneResult         = await _fixture._clientApi.GetAsync($"api/v1/calendarios/tipos/{feriadoParaConsultar.Id}");

                    Assert.True(getOneResult.IsSuccessStatusCode);

                    var dtoUm = JsonConvert.DeserializeObject <TipoCalendarioCompletoDto>(getOneResult.Content.ReadAsStringAsync().Result);

                    Assert.True(dtoUm.Id == feriadoParaConsultar.Id);
                }
            }
        }
Exemplo n.º 14
0
        public async Task <IActionResult> Incluir([FromBody] TipoCalendarioDto dto)
        {
            await comandos.Incluir(dto);

            return(Ok());
        }
Exemplo n.º 15
0
        public async Task <IActionResult> Alterar([FromBody] TipoCalendarioDto dto, long id)
        {
            await comandos.Alterar(dto, id);

            return(Ok());
        }