示例#1
0
        private async Task BuscaAbrangenciaEPersiste(string login, Guid perfil)
        {
            AbrangenciaRetornoEolDto abrangenciaRetornoEolDto;

            if (perfil == Guid.Parse(PERFIL_SUPERVISOR))
            {
                var listaEscolasDresSupervior = consultasSupervisor.ObterPorDreESupervisor(login, string.Empty);

                if (!listaEscolasDresSupervior.Any())
                {
                    throw new NegocioException($"Não foi possível obter as escolas atribuidas ao supervisor {login}.");
                }

                var escolas = from a in listaEscolasDresSupervior
                              from b in a.Escolas
                              select b.Codigo;

                abrangenciaRetornoEolDto = await servicoEOL.ObterAbrangenciaParaSupervisor(escolas.ToArray());
            }
            else
            {
                abrangenciaRetornoEolDto = await servicoEOL.ObterAbrangencia(login, perfil);
            }

            if (abrangenciaRetornoEolDto == null)
            {
                throw new NegocioException("Não foi possível localizar registros de abrangência para este usuário.");
            }

            foreach (var abrangenciaDre in abrangenciaRetornoEolDto.Dres)
            {
                var idAbragenciaDre = await repositorioAbrangencia.SalvarDre(abrangenciaDre, login, perfil);

                if (idAbragenciaDre > 0)
                {
                    foreach (var abrangenciaUe in abrangenciaDre.Ues)
                    {
                        var idAbragenciaUe = await repositorioAbrangencia.SalvarUe(abrangenciaUe, idAbragenciaDre);

                        if (idAbragenciaUe > 0)
                        {
                            foreach (var abrangenciaTurma in abrangenciaUe.Turmas)
                            {
                                await repositorioAbrangencia.SalvarTurma(abrangenciaTurma, idAbragenciaUe);
                            }
                        }
                    }
                }
                else
                {
                    throw new NegocioException("Não foi possível salvar a abrangência Dre.");
                }
            }
        }
示例#2
0
        private Task <AbrangenciaRetornoEolDto> ObterAbrangenciaEolSupervisor(string login)
        {
            Task <AbrangenciaRetornoEolDto> consultaEol = null;
            var listaEscolasDresSupervior = consultasSupervisor.ObterPorDreESupervisor(login, string.Empty);

            if (listaEscolasDresSupervior.Any())
            {
                var escolas = from a in listaEscolasDresSupervior
                              from b in a.Escolas
                              select b.Codigo;

                consultaEol = servicoEOL.ObterAbrangenciaParaSupervisor(escolas.ToArray());
            }

            return(consultaEol);
        }