Beispiel #1
0
        private async Task TratarAbrangencia(AtribuicaoCJ atribuicaoCJ, IEnumerable <AtribuicaoCJ> atribuicoesAtuais)
        {
            var abrangenciasAtuais = await repositorioAbrangencia.ObterAbrangenciaSintetica(atribuicaoCJ.ProfessorRf, Perfis.PERFIL_CJ, atribuicaoCJ.TurmaId);

            if (atribuicaoCJ.Substituir)
            {
                if (abrangenciasAtuais != null && !abrangenciasAtuais.Any())
                {
                    var turma = repositorioTurma.ObterPorId(atribuicaoCJ.TurmaId);
                    if (turma == null)
                    {
                        throw new NegocioException($"Não foi possível localizar a turma {atribuicaoCJ.TurmaId} da abrangência.");
                    }

                    var abrangencias = new Abrangencia[] { new Abrangencia()
                                                           {
                                                               Perfil = Perfis.PERFIL_CJ, TurmaId = turma.Id
                                                           } };

                    servicoAbrangencia.SalvarAbrangencias(abrangencias, atribuicaoCJ.ProfessorRf);
                }
            }
            else
            {
                if (abrangenciasAtuais != null && abrangenciasAtuais.Any())
                {
                    if (!atribuicoesAtuais.Any(a => a.Id != atribuicaoCJ.Id && a.Substituir == true))
                    {
                        servicoAbrangencia.RemoverAbrangencias(abrangenciasAtuais.Select(a => a.Id).ToArray());
                    }
                }
            }
        }
Beispiel #2
0
        private async Task TratarAbrangencia(AtribuicaoCJ atribuicaoCJ, IEnumerable <AtribuicaoCJ> atribuicoesAtuais)
        {
            var perfil = atribuicaoCJ.Modalidade == Modalidade.Infantil ? Perfis.PERFIL_CJ_INFANTIL : Perfis.PERFIL_CJ;

            var abrangenciasAtuais = await repositorioAbrangencia.ObterAbrangenciaSintetica(atribuicaoCJ.ProfessorRf, perfil, atribuicaoCJ.TurmaId);

            if (atribuicaoCJ.Substituir)
            {
                if (abrangenciasAtuais != null && !abrangenciasAtuais.Any())
                {
                    var turma = await repositorioTurma.ObterPorCodigo(atribuicaoCJ.TurmaId);

                    if (turma == null)
                    {
                        throw new NegocioException($"Não foi possível localizar a turma {atribuicaoCJ.TurmaId} da abrangência.");
                    }

                    var abrangencias = new Abrangencia[] { new Abrangencia()
                                                           {
                                                               Perfil = perfil, TurmaId = turma.Id
                                                           } };

                    servicoAbrangencia.SalvarAbrangencias(abrangencias, atribuicaoCJ.ProfessorRf);
                }
            }
            else if ((abrangenciasAtuais != null && abrangenciasAtuais.Any()) &&
                     (!atribuicoesAtuais.Any(a => a.Id != atribuicaoCJ.Id && a.Substituir)))
            {
                servicoAbrangencia.RemoverAbrangencias(abrangenciasAtuais.Select(a => a.Id).ToArray());
            }
        }