private string ObterMensagemStatusQuestao(QuestaoRecurso.StatusQuestao status) { var statusInt = (int)status; var statusMensagem = ((Constants.Messages.StatusQuestaoNotificacao)statusInt); return(statusMensagem.GetDescription()); }
private bool StatusQuestaoPrecisaAprovacaoCoordenacao(QuestaoRecurso.StatusQuestao status) { var statusAprovar = new QuestaoRecurso.StatusQuestao[] { QuestaoRecurso.StatusQuestao.CabeRecurso, QuestaoRecurso.StatusQuestao.NaoCabeRecurso, }; return(statusAprovar.Contains(status)); }
public int CriarNotificacoesMudancaStatusQuestao(int idQuestao, QuestaoRecurso.StatusQuestao status) { var qtd = default(int); var questaoRMais = _questaoRepository.IsQuestaoProvaRMais(idQuestao); if (!StatusQuestaoNotificaAluno(status, questaoRMais)) { return(qtd); } var questao = _questaoRepository.GetQuestaoConcursoById(idQuestao); ProvaAlunosFavoritoDTO alunos = null; if (status == QuestaoRecurso.StatusQuestao.NaoCabeRecurso) { alunos = _questaoRepository.GetAlunosVotaramForumPre(idQuestao); } else { alunos = _exercicioRepository.GetAlunosFavoritaramProva(questao.intProvaID ?? 0); } if (alunos.MatriculasFavoritaram != null && alunos.MatriculasFavoritaram.Any()) { var metadado = new MetadadoNotificacaoDTO { Acao = "abrir_pagina", Pagina = string.Format("provas/prova/{0}/questao/{1}", questao.intProvaID ?? 0, idQuestao) }; var notificacao = _notificacaoRepository.Get((int)Constants.Notificacoes.Recursos.StatusQuestaoFavoritos); 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, string.Empty, (questao.intOrder ?? 0).ToString() ), Mensagem = TrocarParametrosMensagemQuestaoProva( notificacao.Texto, alunos.Prova.Nome, ObterMensagemStatusQuestao(status), (questao.intOrder ?? 0).ToString() ), Metadados = JsonConvert.SerializeObject(metadado), Ativa = false }); } var lista = _notificacaoRepository.InserirNotificacoesPosEvento(notificacoesEnviar.ToArray()); qtd = AtualizarMetadadosAtivarNotificacoes(lista, metadado); } return(qtd); }
public int NotificarMudancaStatusQuestao(int idQuestao, QuestaoRecurso.StatusQuestao status) { var qtd = default(int); if (!StatusQuestaoPrecisaAprovacaoCoordenacao(status)) { qtd = CriarNotificacoesMudancaStatusQuestao(idQuestao, status); } else if (_questaoRepository.IsQuestaoProvaRMais(idQuestao)) { qtd = CriarNotificacoesMudancaStatusQuestao(idQuestao, QuestaoRecurso.StatusQuestao.EmAnalise); } return(qtd); }
public bool StatusQuestaoNotificaAluno(QuestaoRecurso.StatusQuestao status, bool questaoRMais) { var statusNotificados = new QuestaoRecurso.StatusQuestao[] { QuestaoRecurso.StatusQuestao.CabeRecurso, QuestaoRecurso.StatusQuestao.AlteradaPelaBanca }; var statusNotificadosApenasRMais = new QuestaoRecurso.StatusQuestao[] { QuestaoRecurso.StatusQuestao.NaoCabeRecurso, QuestaoRecurso.StatusQuestao.EmAnalise }; return(statusNotificados.Contains(status) || (questaoRMais && statusNotificadosApenasRMais.Contains(status))); }
public Task <int> CriarNotificacoesMudancaStatusQuestaoAsync(int idQuestao, QuestaoRecurso.StatusQuestao status) { return(Task.Factory.StartNew(() => CriarNotificacoesMudancaStatusQuestao(idQuestao, status))); }