public bool StatusConclusaoNotificaExternamente(Constants.Notificacoes.Recursos tipo) { var statusNotifica = new[] { Constants.Notificacoes.Recursos.ConclusaoAnaliseAcademica, Constants.Notificacoes.Recursos.ConclusaoAnaliseBancaQuestoes }; return(statusNotifica.Contains(tipo)); }
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); }
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); }