private static async Task ConfirmarLeituraTurma(IMediator mediator, UsuarioNotificacaoDto usuarioMensagem, string cpfUsuario, IEnumerable <ListaEscola> listaEscolas, NotificacaoResposta notificacao) { List <Dominio.Entidades.Aluno> alunos = new List <Dominio.Entidades.Aluno>(); listaEscolas.ForEach(x => { var alunosturma = x.Alunos.Where(z => notificacao.Turmas.Any(y => y.CodigoTurma.Equals(z.CodigoTurma.ToString()))); if (alunosturma != null && alunosturma.Any()) { alunos.AddRange(alunosturma); } }); if (alunos == null || !alunos.Any()) { throw new NegocioException("Nenhum Aluno está matriculado na turma notificada"); } foreach (var aluno in alunos) { await ConfirmarLeitura(mediator, usuarioMensagem, cpfUsuario, aluno); } }
private static async Task ConfirmarLeituraSME(IMediator mediator, UsuarioNotificacaoDto usuarioMensagem, string cpfUsuario, IEnumerable <ListaEscola> listaEscolas, NotificacaoResposta notificacao) { List <Dominio.Entidades.Aluno> alunos = new List <Dominio.Entidades.Aluno>(); listaEscolas.ForEach(escola => { var alunosAdicionar = notificacao.GruposId.Any(grupo => grupo.Equals(escola.CodigoGrupo.ToString())) ? escola.Alunos : default; if (alunosAdicionar == null || !alunosAdicionar.Any()) { return; } alunos.AddRange(alunosAdicionar); }); if (alunos == null || !alunos.Any()) { throw new NegocioException("Nenhum aluno deste usuário está matriculado no grupo desta Notificação"); } foreach (var aluno in alunos) { await ConfirmarLeitura(mediator, usuarioMensagem, cpfUsuario, aluno); } }
private static async Task ConfirmarLeituraUEMOD(IMediator mediator, UsuarioNotificacaoDto usuarioMensagem, string cpfUsuario, IEnumerable <ListaEscola> listaEscolas, NotificacaoResposta notificacao) { List <Dominio.Entidades.Aluno> alunos = new List <Dominio.Entidades.Aluno>(); listaEscolas.ForEach(escola => { if (notificacao.GruposId != null && notificacao.GruposId.Length > 0 && !notificacao.GruposId.Any(grupo => grupo.Equals(escola.CodigoGrupo.ToString()))) { return; } var alunosEscolaMod = escola.Alunos.Where(aluno => aluno.CodigoEscola.Equals(notificacao.CodigoUe.ToString())); if (alunosEscolaMod == null || !alunosEscolaMod.Any()) { return; } alunos.AddRange(alunosEscolaMod); }); if (alunos == null || !alunos.Any()) { throw new NegocioException("Nenhum Aluno está matriculado na modalidade da escola da notificação"); } foreach (var aluno in alunos) { await ConfirmarLeitura(mediator, usuarioMensagem, cpfUsuario, aluno); } }
private static async Task ConfirmarLeituraUE(IMediator mediator, UsuarioNotificacaoDto usuarioMensagem, string cpfUsuario, IEnumerable <ListaEscola> listaEscolas, NotificacaoResposta notificacao) { List <Dominio.Entidades.Aluno> alunos = new List <Dominio.Entidades.Aluno>(); listaEscolas.ForEach(escola => { var alunosAdicionar = escola.Alunos.Where(x => x.CodigoEscola.Equals(notificacao.CodigoUe.ToString())); if (alunosAdicionar == null || !alunosAdicionar.Any()) { return; } alunos.AddRange(alunosAdicionar); }); if (alunos == null || !alunos.Any()) { throw new NegocioException("Nenhum Aluno está matriculado na escola da notificação"); } foreach (var aluno in alunos) { await ConfirmarLeitura(mediator, usuarioMensagem, cpfUsuario, aluno); } }
private static async Task ConfirmarLeituraSME_ANO(IMediator mediator, UsuarioNotificacaoDto usuarioMensagem, string cpfUsuario, IEnumerable <ListaEscola> listaEscolas, NotificacaoResposta notificacao) { var seriesResumidas = notificacao.SeriesResumidas.ToStringEnumerable(); var seriesResumidasNaoExistem = !seriesResumidas.Any(); var alunos = listaEscolas .Where(escola => notificacao.ModalidadesId.Contains(escola.ModalidadeCodigo.ToString())) .SelectMany(escola => escola.Alunos) .Where(alunos => (seriesResumidasNaoExistem || seriesResumidas.Contains(alunos.SerieResumida))); if (alunos == null || !alunos.Any()) { throw new NegocioException("Nenhum aluno deste usuário está matriculado no grupo/ano desta Notificação"); } foreach (var aluno in alunos) { await ConfirmarLeitura(mediator, usuarioMensagem, cpfUsuario, aluno); } }