예제 #1
0
        private void PreencherInformacoesDasNotificacoes(int IdUsuario)
        {
            ManterNotificacao   manterNotificacao = new ManterNotificacao();
            IList <Notificacao> ListaNotificacoes = manterNotificacao.ObterUltimasNotificacoesDoUsuario(IdUsuario);

            WebFormHelper.PreencherGrid(ListaNotificacoes, this.dgvNotificacoes);
        }
예제 #2
0
        public RetornoWebService NotificarAlunosAprovadosTurmaQuestionarioPos()
        {
            var retorno = new RetornoWebService();

            var matriculasTurma = new ManterMatriculaTurma().ObterDeHoje();
            var mail            = new ManterEmail();
            var notificacao     = new ManterNotificacao();
            var confSistema     = new ManterConfiguracaoSistema().ObterConfiguracaoSistemaPorID((int)enumConfiguracaoSistema.EnderecoPortal30Dev);


            foreach (var matriculaTurma in matriculasTurma)
            {
                var turma      = matriculaTurma.Turma.Nome;
                var idTurma    = matriculaTurma.Turma.ID;
                var email      = matriculaTurma.MatriculaOferta.Usuario.Email;
                var usuario    = matriculaTurma.MatriculaOferta.Usuario.Nome;
                var idUsuario  = matriculaTurma.MatriculaOferta.Usuario.ID;
                var sidUsuario = matriculaTurma.MatriculaOferta.Usuario.SID_Usuario;

                var linkRedirect = string.Format("minhasinscricoes/questionario/{0}/turma/{1}", (int)enumTipoQuestionarioAssociacao.Pos, idTurma);
                var link         = string.Format("{0}networkLoginAuto/{1}/{2}",
                                                 confSistema.Registro,
                                                 System.Web.HttpContext.Current.Server.UrlEncode(Base64Encode(InfraEstrutura.Core.Helper.CriptografiaHelper.Criptografar(sidUsuario))),
                                                 Base64Encode(linkRedirect));

                var mensagem = ObterCorpo(usuario, turma, link);
                var assunto  = "Questionário de avaliação do curso: " + turma;
                mail.EnviarEmail(email, assunto, mensagem);

                notificacao.PublicarNotificacao(linkRedirect, mensagem, idUsuario);
            }

            return(retorno);
        }
예제 #3
0
        private void FiltrarRelatorio(int id, Usuario usuario)
        {
            var dataDeEnvio = !string.IsNullOrEmpty(txtDataDeEnvio.Text) ? DateTime.Parse(txtDataDeEnvio.Text) : (DateTime?)null;

            var notificacoes = new ManterNotificacao().ObterPorFiltro(usuario, dataDeEnvio, id);

            var notificacaoesFormatado = notificacoes.Select(x => new
            {
                Usuario   = x.Usuario,
                DataEnvio = x.DataNotificacao
            }).ToList();

            WebFormHelper.PreencherGrid(notificacaoesFormatado.ToList(), dgvNotificacoes);


            if (dgvNotificacoes.Rows.Count > 0)
            {
                componenteGeracaoRelatorio.Visible = true;
            }
        }
        protected void btnSim_Click(object sender, EventArgs e)
        {
            if (totalGerado == 0)
            {
                OcultarModal();
                return;
            }

            if (Request["Id"] != null)
            {
                OcultarModal();

                var idNotificacaoEnvio = int.Parse(Request["Id"]);

                _notificacaoEnvioEdicao = manterNotificacaoEnvio.ObterNotificacaoEnvioPorID(idNotificacaoEnvio);

                var manterNotificacao = new ManterNotificacao();
                try
                {
                    try
                    {
                        var usuarios = manterNotificacaoEnvio.CompilarUsuarios(_notificacaoEnvioEdicao);

                        foreach (var usuario in usuarios)
                        {
                            manterNotificacao.PublicarNotificacao(_notificacaoEnvioEdicao.Link, _notificacaoEnvioEdicao.Texto, usuario.ID, _notificacaoEnvioEdicao);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Notificação realizada com Sucesso!",
                                                 "ListarNotificacaoEnvio.aspx");
                }
                catch (Exception ex)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                }
            }
        }
        //Notifica os Alunos que já tiveram o primeiro envio e mantem a logica de 3 envio 1 a cada 7 dias e inativa o maior de 30 dias
        public void NotificarAlunosQuestionarioAssociacaoEnvio()
        {
            var mail        = new ManterEmail();
            var notificacao = new ManterNotificacao();
            var confSistema = new ManterConfiguracaoSistema().ObterConfiguracaoSistemaPorID((int)enumConfiguracaoSistema.EnderecoPortal30);

            var manterQuestionariosAssociacaoEnvio = new ManterQuestionarioAssociacaoEnvio();
            var questionariosAssociacaoEnvio       = manterQuestionariosAssociacaoEnvio.ObterPorIntervalo(Intervalo);

            foreach (var questionarioAssociacaoEnvio in questionariosAssociacaoEnvio)
            {
                var dtoNotificarAluno = new DTONotificarAlunoQuestionarioPos()
                {
                    Usuario = questionarioAssociacaoEnvio.Usuario,
                    Turma   = questionarioAssociacaoEnvio.QuestionarioAssociacao.Turma
                };

                NotificarAlunos(dtoNotificarAluno, mail, notificacao, confSistema);
                manterQuestionariosAssociacaoEnvio.Atualizar(questionarioAssociacaoEnvio);
            }
        }
예제 #6
0
        private void AtualizaCargaHoraria(int idItemTrilha)
        {
            _ItemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha);

            if (!string.IsNullOrWhiteSpace(txtCargHoraria.Text) && _ItemTrilha.CargaHoraria >= 0 && txtCargHoraria.Text != _ItemTrilha.CargaHoraria.ToString())
            {
                int cargaHoraria;

                if (int.TryParse(txtCargHoraria.Text, out cargaHoraria))
                {
                    _ItemTrilha.CargaHoraria = int.Parse(txtCargHoraria.Text);

                    new ManterItemTrilha().AlterarItemTrilha(_ItemTrilha);

                    var manterNotificacao = new ManterNotificacao();

                    var nivel = _ItemTrilha.Missao.PontoSebrae.TrilhaNivel;

                    var link = string.Format("/trilhas/trilha/{0}/nivel/{1}",
                                             nivel.Trilha.ID, nivel.ID);

                    var textoPublicacao = "Carga horária não aprovada.";
                    var usuarioLogado   = new BMUsuario().ObterUsuarioLogado();

                    var notificacaoEnvio = new Sebrae.Academico.Dominio.Classes.NotificacaoEnvio
                    {
                        Texto = textoPublicacao,
                        Link  = link
                    };

                    new ManterNotificacaoEnvio().AlterarNotificacaoEnvio(notificacaoEnvio);

                    manterNotificacao.PublicarNotificacao(link, textoPublicacao, usuarioLogado.ID, notificacaoEnvio);
                }
                else
                {
                    throw new AcademicoException("Carga horária informada é inválida.");
                }
            }
        }
        //Notificar Alunos
        public DTONotificarAlunoQuestionarioPos NotificarAlunos(DTONotificarAlunoQuestionarioPos dtoNotificarAluno, ManterEmail mail, ManterNotificacao notificacao, ConfiguracaoSistema confSistema)
        {
            var turma      = dtoNotificarAluno.Turma.Nome;
            var idTurma    = dtoNotificarAluno.Turma.ID;
            var email      = dtoNotificarAluno.Usuario.Email;
            var usuario    = dtoNotificarAluno.Usuario.Nome;
            var idUsuario  = dtoNotificarAluno.Usuario.ID;
            var sidUsuario = dtoNotificarAluno.Usuario.SID_Usuario;

            var linkRedirect = string.Format("minhasinscricoes/questionario/pos/turma/{0}", idTurma);
            var link         = string.Format("{0}networkLoginAuto/{1}/{2}",
                                             confSistema.Registro,
                                             System.Web.HttpContext.Current.Server.UrlEncode(Base64Encode(InfraEstrutura.Core.Helper.CriptografiaHelper.Criptografar(sidUsuario))),
                                             Base64Encode(linkRedirect));

            var mensagem = ObterCorpo(usuario, turma, link);
            var assunto  = "Questionário de avaliação do curso: " + turma;

            mail.EnviarEmail(email, assunto, mensagem, throwException: false);

            //notificacao.PublicarNotificacao(linkRedirect, mensagem, idUsuario);

            return(dtoNotificarAluno);
        }