Example #1
0
        public bool StatusConclusaoNotificaExternamente(Constants.Notificacoes.Recursos tipo)
        {
            var statusNotifica = new[]
            {
                Constants.Notificacoes.Recursos.ConclusaoAnaliseAcademica,
                Constants.Notificacoes.Recursos.ConclusaoAnaliseBancaQuestoes
            };

            return(statusNotifica.Contains(tipo));
        }
Example #2
0
        public int NotificaConclusaoEstadoQuestoesProva(int idProva, Constants.Notificacoes.Recursos tipo)
        {
            var qtd = default(int);

            if (StatusConclusaoNotificaExternamente(tipo))
            {
                qtd = CriarNotificacoesAlunosFavoritaramProva(idProva, tipo, "provas/prova/{0}");
                _concursoRepository.InserirConfiguracaoProvaAluno(new tblProvaAlunoConfiguracoes
                {
                    intContactID         = Utilidades.UsuarioSistema,
                    dteAtualizacao       = DateTime.Now,
                    dteCriacao           = DateTime.Now,
                    intProvaID           = idProva,
                    bitComunicadoAtivo   = true,
                    intConfigNotificacao = (int)tipo
                });
            }
            return(qtd);
        }
Example #3
0
        private int CriarNotificacoesAlunosFavoritaramProva(int idProva, Constants.Notificacoes.Recursos tipo, string pagina,
                                                            ProvaRecurso.StatusProva status = ProvaRecurso.StatusProva.Inexistente)
        {
            var qtd    = default(int);
            var alunos = _exercicioRepository.GetAlunosFavoritaramProva(idProva);

            if (alunos.MatriculasFavoritaram != null && alunos.MatriculasFavoritaram.Any())
            {
                var metadado = new MetadadoNotificacaoDTO
                {
                    Acao   = "abrir_pagina",
                    Pagina = string.Format(pagina, idProva)
                };

                var notificacao        = _notificacaoRepository.Get((int)tipo);
                var notificacoesEnviar = new List <NotificacaoPosEventoDTO>();
                foreach (var matricula in alunos.MatriculasFavoritaram)
                {
                    notificacoesEnviar.Add(new NotificacaoPosEventoDTO
                    {
                        Matricula     = matricula,
                        IdNotificacao = notificacao.IdNotificacao,
                        Titulo        = TrocarParametrosMensagemQuestaoProva(
                            notificacao.Titulo, alunos.Prova.Nome, status.GetDescription(), string.Empty
                            ),
                        Mensagem = TrocarParametrosMensagemQuestaoProva(
                            notificacao.Texto, alunos.Prova.Nome, status.GetDescription(), string.Empty
                            ),
                        Metadados = JsonConvert.SerializeObject(metadado),
                        Ativa     = false
                    });
                }
                var lista = _notificacaoRepository.InserirNotificacoesPosEvento(notificacoesEnviar.ToArray());
                qtd = AtualizarMetadadosAtivarNotificacoes(lista, metadado);
            }
            return(qtd);
        }