Exemplo n.º 1
0
        public EstruturaInstitucionalRetornoEolDTO ObterEstruturaInstuticionalVigentePorDre()
        {
            EstruturaInstitucionalRetornoEolDTO resultado = null;
            var    codigosDres = ObterCodigosDres();
            string url         = $"abrangencia/estrutura-vigente";

            if (codigosDres != null && codigosDres.Length > 0)
            {
                resultado = new EstruturaInstitucionalRetornoEolDTO();
                foreach (var item in codigosDres)
                {
                    httpClient.DefaultRequestHeaders.Clear();

                    var resposta = httpClient.GetAsync($"{url}/{item}").Result;

                    if (resposta.IsSuccessStatusCode)
                    {
                        var json    = resposta.Content.ReadAsStringAsync().Result;
                        var parcial = JsonConvert.DeserializeObject <EstruturaInstitucionalRetornoEolDTO>(json);

                        if (parcial != null)
                        {
                            resultado.Dres.AddRange(parcial.Dres);
                        }
                    }
                    else
                    {
                        SentrySdk.AddBreadcrumb($"Ocorreu um erro na tentativa de buscar os dados de Estrutura Institucional Vigente por Dre: {item} - HttpCode {resposta.StatusCode} - Body {resposta.Content?.ReadAsStringAsync()?.Result ?? string.Empty}");
                    }
                }
            }

            return(resultado);
        }
Exemplo n.º 2
0
        private async Task SincronizarEstruturaInstitucional(EstruturaInstitucionalRetornoEolDTO estrutura)
        {
            var dres = estrutura.Dres.Select(x => new Dre()
            {
                Abreviacao = x.Abreviacao, CodigoDre = x.Codigo, Nome = x.Nome
            });
            var ues = estrutura.Dres.SelectMany(x => x.Ues.Select(y => new Ue {
                CodigoUe = y.Codigo, TipoEscola = y.CodTipoEscola, Nome = y.Nome, Dre = new Dre()
                {
                    CodigoDre = x.Codigo
                }
            }));
            var turmas = estrutura.Dres.SelectMany(x => x.Ues.SelectMany(y => y.Turmas.Select(z =>
                                                                                              new Turma
            {
                Ano                   = z.Ano,
                AnoLetivo             = z.AnoLetivo,
                CodigoTurma           = z.Codigo,
                ModalidadeCodigo      = (Modalidade)Convert.ToInt32(z.CodigoModalidade),
                QuantidadeDuracaoAula = z.DuracaoTurno,
                Nome                  = z.NomeTurma,
                Semestre              = z.Semestre,
                TipoTurno             = z.TipoTurno,
                Ue = new Ue()
                {
                    CodigoUe = y.Codigo
                },
                EnsinoEspecial = z.EnsinoEspecial,
                EtapaEJA       = z.EtapaEJA,
                DataInicio     = z.DataInicioTurma,
                SerieEnsino    = z.SerieEnsino,
                DataFim        = z.DataFim,
                Extinta        = z.Extinta
            })));

            dres = await repositorioDre.SincronizarAsync(dres);

            ues = await repositorioUe.SincronizarAsync(ues, dres);

            await repositorioTurma.SincronizarAsync(turmas, ues);
        }
Exemplo n.º 3
0
        private void SincronizarEstruturaInstitucional(EstruturaInstitucionalRetornoEolDTO estrutura)
        {
            IEnumerable <Dre>   dres   = Enumerable.Empty <Dre>();
            IEnumerable <Ue>    ues    = Enumerable.Empty <Ue>();
            IEnumerable <Turma> turmas = Enumerable.Empty <Turma>();

            dres = estrutura.Dres.Select(x => new Dre()
            {
                Abreviacao = x.Abreviacao, CodigoDre = x.Codigo, Nome = x.Nome
            });
            ues = estrutura.Dres.SelectMany(x => x.Ues.Select(y => new Ue {
                CodigoUe = y.Codigo, TipoEscola = y.CodTipoEscola, Nome = y.Nome, Dre = new Dre()
                {
                    CodigoDre = x.Codigo
                }
            }));
            turmas = estrutura.Dres.SelectMany(x => x.Ues.SelectMany(y => y.Turmas.Select(z =>
                                                                                          new Turma
            {
                Ano                   = z.Ano,
                AnoLetivo             = z.AnoLetivo,
                CodigoTurma           = z.Codigo,
                ModalidadeCodigo      = (Modalidade)Convert.ToInt32(z.CodigoModalidade),
                QuantidadeDuracaoAula = z.DuracaoTurno,
                Nome                  = z.NomeTurma,
                Semestre              = z.Semestre,
                TipoTurno             = z.TipoTurno,
                Ue = new Ue()
                {
                    CodigoUe = y.Codigo
                }
            })));

            dres = repositorioDre.Sincronizar(dres);
            ues  = repositorioUe.Sincronizar(ues, dres);
            repositorioTurma.Sincronizar(turmas, ues);
        }