コード例 #1
0
        private void EnviarMensagemAtrasoPorUsuarioTrilha(MensageriaParametros pMensgrParametro)
        {
            IList <UsuarioTrilha> lstUsuarioTrilha = null;

            try
            {
                lstUsuarioTrilha = new BMUsuarioTrilha().ObterMatriculasDataExpiracao(pMensgrParametro.DiaAviso);

                BMMensageriaRegistro mensageriaRegistroBM = new BMMensageriaRegistro();

                foreach (UsuarioTrilha ut in lstUsuarioTrilha)
                {
                    if (!mensageriaRegistroBM.ValidarComunicacaoEfetuada(ut))
                    {
                        MensageriaRegistro mr = new MensageriaRegistro()
                        {
                            Auditoria           = new Auditoria(null),
                            UsuarioTrilha       = ut,
                            MensageriaParametro = pMensgrParametro,
                            DataEnvio           = DateTime.Now,
                            Usuario             = ut.Usuario
                        };

                        mr.TextoEnviado = TextoTemplateMensagem(mr);
                        EnviarMensagem(mr);

                        new BMMensageriaRegistro().Salvar(mr);
                    }
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }
コード例 #2
0
        public void EnviarMensagem(MensageriaRegistro pMr)
        {
            try
            {
                // Pegando o arquivo de template;
                if (pMr.MensageriaParametro.EnviarNotificacao)
                {
                    Notificacao nt = new Notificacao()
                    {
                        DataGeracao      = DateTime.Now,
                        TextoNotificacao = TextoTemplateMensagem(pMr)
                    };

                    new BMNotificacao().Salvar(nt);
                }

                if (pMr.MensageriaParametro.EnviarEmail)
                {
                    EmailUtil.Instancia.EnviarEmail(pMr.Usuario.Email, AssuntoTemplateMensagem(pMr), pMr.TextoEnviado);
                    //CommonHelper.EnviarEmail(string.Empty, pMr.Usuario.Email, AssuntoTemplateMensagem(pMr), pMr.TextoEnviado);
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }
コード例 #3
0
        private void EnviarMensagematrasoPorMatriculaTurma(MensageriaParametros pMensgrParametro)
        {
            try
            {
                IList <MatriculaTurma> lstMatriculaTurma = new BMMatriculaTurma().ObterMatriculasDataExpiracao(pMensgrParametro.DiaAviso);

                BMMensageriaRegistro mensageriaRegistroBM = new BMMensageriaRegistro();

                foreach (MatriculaTurma mt in lstMatriculaTurma)
                {
                    if (!mensageriaRegistroBM.ValidarComunicacaoEfetuada(mt))
                    {
                        MensageriaRegistro mr = new MensageriaRegistro()
                        {
                            Auditoria           = new Auditoria(null),
                            MatriculaTurma      = mt,
                            MensageriaParametro = pMensgrParametro,
                            DataEnvio           = DateTime.Now,
                            Usuario             = mt.MatriculaOferta.Usuario
                        };

                        mr.TextoEnviado = TextoTemplateMensagem(mr);
                        //EnviarMensagem(mr);

                        mensageriaRegistroBM.Salvar(mr);
                    }
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
        }
コード例 #4
0
 private string FormatarTexto(string pTexto, MensageriaRegistro pMr)
 {
     return(pTexto
            .Replace("@DATASISTEMA#", DateTime.Now.ToString("dd/MM/yyyy"))
            .Replace("@DATASISTEMAEXTENSO#", DateTime.Now.ToLongDateString().ToString())
            .Replace("@DATAHORASISTEMA#", DateTime.Now.ToString("dd/MM/yyyy HH:mm"))
            .Replace("@ALUNO#", pMr.MatriculaTurma == null ? pMr.UsuarioTrilha.Usuario.Nome : pMr.MatriculaTurma.MatriculaOferta.Usuario.Nome)
            .Replace("@TURMA#", pMr.MatriculaTurma == null ? string.Empty : pMr.MatriculaTurma.Turma.Nome)
            .Replace("@TRILHANIVEL#", pMr.UsuarioTrilha != null ? pMr.UsuarioTrilha.TrilhaNivel.Nome : string.Empty)
            .Replace("@TRILHA#", pMr.UsuarioTrilha != null ? pMr.UsuarioTrilha.TrilhaNivel.Trilha.Nome : string.Empty)
            .Replace("@PROFESSOR#", pMr.MatriculaTurma == null ? string.Empty : pMr.MatriculaTurma.Turma == null ? string.Empty : pMr.MatriculaTurma.Turma.Professor.Nome)
            .Replace("@DATALIMITE#", pMr.UsuarioTrilha == null ? pMr.MatriculaTurma.DataLimite.ToString("dd/MM/yyyy") : pMr.UsuarioTrilha.DataLimite.ToString("dd/MM/yyyy"))
            .Replace("@DIASAVISO#", pMr.MensageriaParametro.DiaAviso.ToString())
            .Replace("@EMAILALUNO#", pMr.MatriculaTurma == null ? pMr.UsuarioTrilha.Usuario.Email : pMr.MatriculaTurma.MatriculaOferta.Usuario.Email));
 }
コード例 #5
0
        private string TextoTemplateMensagem(MensageriaRegistro pMr)
        {
            StreamReader fl             = null;
            string       textoFormatado = null;

            try
            {
                fl = new StreamReader(CommonHelper.ObterArquivo("/template/" + pMr.MensageriaParametro.NomeArquivoTemplate));


                if (pMr.MensageriaParametro.EnviarNotificacao && !pMr.MensageriaParametro.EnviarEmail)
                {
                    return(FormatarTexto(fl.ReadToEnd(), pMr).Trim());
                }



                //Eliminando a linha do assunto.
                fl.ReadLine();

                StringBuilder sb = new StringBuilder();

                while (!fl.EndOfStream)
                {
                    sb.AppendLine(fl.ReadLine());
                }

                return(FormatarTexto(sb.ToString(), pMr).Trim());
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
            finally
            {
                fl.Close();
                fl.Dispose();
            }

            return(textoFormatado);
        }
コード例 #6
0
        private string AssuntoTemplateMensagem(MensageriaRegistro pMr)
        {
            string       textoFormatado = null;
            StreamReader fl             = null;

            try
            {
                fl = new StreamReader(CommonHelper.ObterArquivo("/template/" + pMr.MensageriaParametro.NomeArquivoTemplate));
                string pTextoFinal = fl.ReadLine();
                textoFormatado = FormatarTexto(pTextoFinal, pMr).Trim();
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }
            finally
            {
                fl.Close();
                fl.Dispose();
            }

            return(textoFormatado);
        }
コード例 #7
0
 public void Salvar(MensageriaRegistro mr)
 {
     ValidarMensageriaRegistroEnviados(mr);
     repositorio.Salvar(mr);
 }
コード例 #8
0
 private void ValidarMensageriaRegistroEnviados(MensageriaRegistro mr)
 {
     ValidarInstancia(mr);
 }