Esempio n. 1
0
        public void GerarNotificacaoAlteracaoLimiteDias(Turma turma, Usuario usuarioLogado, Ue ue, int bimestre, string alunosComNotaAlterada)
        {
            var dataAtual = DateTime.Now;
            var mensagem  = $"<p>A(s) nota(s)/conceito(s) final(is) da turma {turma.Nome} da {ue.Nome} (DRE {ue.Dre.Nome}) no bimestre {bimestre} de {turma.AnoLetivo} foram alterados pelo Professor " +
                            $"{usuarioLogado.Nome} ({usuarioLogado.CodigoRf}) em  {dataAtual.ToString("dd/MM/yyyy")} às {dataAtual.ToString("HH:mm")} para o(s) seguinte(s) aluno(s):</p><br/>{alunosComNotaAlterada} ";
            var listaCPs       = servicoEOL.ObterFuncionariosPorCargoUe(turma.Ue.CodigoUe, (long)Cargo.CP);
            var listaDiretores = servicoEOL.ObterFuncionariosPorCargoUe(turma.Ue.CodigoUe, (long)Cargo.Diretor);

            var listaSupervisores = consultasSupervisor.ObterPorUe(turma.Ue.CodigoUe);

            var usuariosNotificacao = new List <UsuarioEolRetornoDto>();

            if (listaCPs != null)
            {
                usuariosNotificacao.AddRange(listaCPs);
            }
            if (listaDiretores != null)
            {
                usuariosNotificacao.AddRange(listaDiretores);
            }
            if (listaSupervisores != null)
            {
                usuariosNotificacao.Add(new UsuarioEolRetornoDto()
                {
                    CodigoRf = listaSupervisores.SupervisorId, NomeServidor = listaSupervisores.SupervisorNome
                });
            }

            foreach (var usuarioNotificacaoo in usuariosNotificacao)
            {
                var usuario     = servicoUsuario.ObterUsuarioPorCodigoRfLoginOuAdiciona(usuarioNotificacaoo.CodigoRf);
                var notificacao = new Notificacao()
                {
                    Ano       = turma.AnoLetivo,
                    Categoria = NotificacaoCategoria.Alerta,
                    DreId     = ue.Dre.Id.ToString(),
                    Mensagem  = mensagem,
                    UsuarioId = usuario.Id,
                    Tipo      = NotificacaoTipo.Notas,
                    Titulo    = $"Alteração em nota/conceito final - Turma {turma.Nome}",
                    TurmaId   = turma.Id.ToString(),
                    UeId      = turma.UeId.ToString(),
                };
                servicoNotificacao.Salvar(notificacao);
            }
        }
 public IActionResult ObterPorUe(string ueId)
 {
     return(Ok(consultasSupervisor.ObterPorUe(ueId)));
 }