Beispiel #1
0
        //Notificação para o dono da duvida
        private void InserirNotificacaoRespondida(DuvidaAcademicaContract duvida, EnumTipoMensagemNotificacaoDuvidasAcademicas tipo, int?respostaClientId = null)
        {
            var AlunoReplicouPropriaResposta = respostaClientId == 0;

            SetNotificacaoAtiva(duvida.DuvidaId.Value, duvida.ClientId, (int)tipo);
            if (!AlunoReplicouPropriaResposta)
            {
                SetNotificacaoDuvidaAcademica(duvida, duvida.ClientId, tipo, respostaClientId);
            }
        }
Beispiel #2
0
 //Notificação para quem favoritou
 private void InserirNotificacaoFavoritas(DuvidaAcademicaContract duvida, List <int> clientIds, EnumTipoMensagemNotificacaoDuvidasAcademicas tipo)
 {
     foreach (var id in clientIds)
     {
         var PossuiDuvidaRespostaHomologada         = _rep.GetNotificacoesDuvidaPorAluno(duvida.DuvidaId.Value, id, (int)EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaRespostaHomologada).Any();
         var PossuiDuvidaRespostaRespondidaMedGrupo = _rep.GetNotificacoesDuvidaPorAluno(duvida.DuvidaId.Value, id, (int)EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaRespostaMedgrupo).Any();
         if (!PossuiDuvidaRespostaHomologada && !PossuiDuvidaRespostaRespondidaMedGrupo)
         {
             SetNotificacaoAtiva(duvida.DuvidaId.Value, id, (int)tipo);
             SetNotificacaoDuvidaAcademica(duvida, id, tipo);
         }
     }
 }
Beispiel #3
0
        private int SetNotificacaoDuvidaAcademica(DuvidaAcademicaContract duvida, int clientId, EnumTipoMensagemNotificacaoDuvidasAcademicas tipo, int?respostaClientId = null)
        {
            var descricao = GetDuvidasAcademicasMensagens(duvida, tipo);
            var notificacoesExistentes = _rep.GetNotificacoesDuvidaPorAluno(duvida.DuvidaId.Value, duvida.ClientId, (int)tipo);

            var hasNotificacaoEnviada = notificacoesExistentes.Any(x => x.Status == EnumStatusNotificacao.Enviado);
            var id = tipo == EnumTipoMensagemNotificacaoDuvidasAcademicas.ReplicaResposta ? respostaClientId.Value : duvida.DuvidaId.Value;

            var notificacaoDuvida = new NotificacaoDuvidaAcademica()
            {
                NotificacaoId = Utilidades.NovasInteracoesDuvidasAcademicas,
                DuvidaId      = duvida.DuvidaId.Value,
                Status        = hasNotificacaoEnviada ? EnumStatusNotificacao.Enviado : EnumStatusNotificacao.NaoEnviado,
                ClientId      = respostaClientId != null ? respostaClientId.Value : clientId,
                Descricao     = descricao,
                TipoCategoria = tipo
            };

            var result = _rep.SetNotificacaoDuvidaAcademica(notificacaoDuvida);

            return(result);
        }
Beispiel #4
0
        private string GetDuvidasAcademicasMensagens(DuvidaAcademicaContract duvida, EnumTipoMensagemNotificacaoDuvidasAcademicas tipo)
        {
            var descricao = string.Empty;

            if (duvida.Origem != null && duvida.OrigemSubnivel != null)
            {
                descricao = "em \"" + duvida.Origem + " - " + duvida.OrigemSubnivel + "\"";
            }

            switch (tipo)
            {
            case EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaRespondida:
                descricao = string.Format(Mensagens.NotificacaoMensagens.DuvidaResposta, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaRespostaHomologada:
                descricao = string.Format(Mensagens.NotificacaoMensagens.DuvidaRespostaHomologada, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaRespostaMedgrupo:
                descricao = string.Format(Mensagens.NotificacaoMensagens.DuvidaRespostaMedgrupo, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaFavoritadaRespondida:
                descricao = string.Format(Mensagens.NotificacaoMensagens.DuvidaFavoritadaRespondida, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaFavoritadaRespostaHomologada:
                descricao = string.Format(Mensagens.NotificacaoMensagens.DuvidaFavoritadaRespostaHomologada, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.DuvidaFavoritadaRespostaMedgrupo:
                descricao = string.Format(Mensagens.NotificacaoMensagens.DuvidaFavoritadaRespostaMedgrupo, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.RespostaHomologadaMedGrupo:
                descricao = string.Format(Mensagens.NotificacaoMensagens.RespostaHomologadaMedGrupo, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.NovaReplica:
                descricao = string.Format(Mensagens.NotificacaoMensagens.ReplicaResposta, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.InteracaoDuvidaRespostaMedGrupo:
                descricao = string.Format(Mensagens.NotificacaoMensagens.InteracaoDuvidaRespostaMedGrupo, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.InteracaoDuvidaHomologada:
                descricao = string.Format(Mensagens.NotificacaoMensagens.InteracaoDuvidaHomologada, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.ReplicaDuvida:
                descricao = string.Format(Mensagens.NotificacaoMensagens.ReplicaDuvida, descricao);
                break;

            case EnumTipoMensagemNotificacaoDuvidasAcademicas.ReplicaResposta:
                descricao = string.Format(Mensagens.NotificacaoMensagens.ReplicaResposta, descricao);
                break;
            }

            return(descricao);
        }
        public static List <NotificacaoDuvidaAcademica> GetNotificacaoDuvidaAcademica(EnumTipoMensagemNotificacaoDuvidasAcademicas tipo)
        {
            var notificacao = new NotificacaoDuvidaAcademica()
            {
                NotificacaoDuvidaId = 1,
                NotificacaoId       = 1,
                ClientId            = 96409,
                DataCadastro        = new DateTime(2019, 04, 22),
                Descricao           = "teste",
                DuvidaId            = 7207,
                TipoCategoria       = tipo,
                Status = EnumStatusNotificacao.Enviado
            };

            var lista = new List <NotificacaoDuvidaAcademica>();

            lista.Add(notificacao);
            return(lista);
        }