Example #1
0
        /// <summary>
        /// Metodo que sirve para Enviar una Alerta
        /// </summary>
        /// <param name="pAlerta"></param>
        /// <returns></returns>
        public RespuestaAlertaEntidad EnviarAlerta <T>(ALERTAS alerta, T Object)
        {
            AlertaEntidadLogicaNegocio        bl    = new AlertaEntidadLogicaNegocio();
            MessageTokenProviderLogicaNegocio tkn   = new MessageTokenProviderLogicaNegocio();
            CuentaEmailLogicaNegocio          ctabl = new CuentaEmailLogicaNegocio();
            string CorreoDestino = "";
            string NombreDestino = "";
            var    tokens        = new List <Token>();
            var    respuesta     = new RespuestaAlertaEntidad();

            try
            {
                respuesta = bl.ObtenerAlertaEntidad(new AlertaEntidad()
                {
                    CodigoAlerta = alerta.ToString()
                });
                CuentaEmail cta = ctabl.ObtenerCuentaEmail(new CuentaEmail()
                {
                    Id = respuesta.AlertaEntidad.IdCuenta
                }).CuentaEmail;
                switch (alerta)
                {
                /***********************************************************************************************/
                /********************            Alertas de Usuario                *****************************/
                /***********************************************************************************************/
                case ALERTAS.NewPassUser:
                case ALERTAS.ForgoutPass:
                case ALERTAS.LockedUser:
                case ALERTAS.WrongPass:
                    Usuario usuario = (Usuario)Convert.ChangeType(Object, typeof(Usuario));

                    UsuarioLogicaNegocio ubl = new UsuarioLogicaNegocio();
                    usuario       = ubl.ObtenerUsuario(usuario).Usuario;
                    tokens        = tkn.AddUsuarioTokens(tokens, usuario);
                    CorreoDestino = usuario.CorreoElectronico;
                    NombreDestino = usuario.Nombre;
                    break;
                }
                string subject = Tokenizador(respuesta.AlertaEntidad.Titulo, tokens, false);
                string body    = Tokenizador(respuesta.AlertaEntidad.HtmlContent, tokens, true);

                SendEmail(cta, subject, body, cta.CorreoElectronico, cta.Alias,
                          CorreoDestino, NombreDestino, null, null, null, null, null, null, 0, null);

                return(respuesta);
            }
            catch (Exception ex)
            {
                ControlExcepciones.ControlExcepciones.ManejoExcepciones(ex, alerta);

                BitacoraLogicaNegocios.RegistrarBitacora(MENSAJES_SISTEMA.ErrorExcepcion,
                                                         TraceData.Utilities.Enums.TypeTrace.Exception, ex, MethodBase.GetCurrentMethod().Name);

                return(new RespuestaAlertaEntidad {
                    Respuesta = new Respuesta(TipoRespuesta.Excepcion, ex.Message, Respuesta.CodNoValido)
                });
            }
        }
Example #2
0
        /// <summary>
        /// Metodo que sirve para reemplazar los Token del Usuario
        /// </summary>
        /// <param name="pCatalogo">Filtro de tipo Catalogo</param>
        /// <returns></returns>
        public List <Token> AddUsuarioTokens(List <Token> tokens, Usuario pUsuario)
        {
            if (pUsuario == null)
            {
                throw new ArgumentNullException("usuario");
            }

            UsuarioLogicaNegocio bl = new UsuarioLogicaNegocio();
            Usuario vUsuario        = bl.ObtenerUsuario(new Usuario()
            {
                CodigoUsuario = pUsuario.CodigoUsuario
            }).Usuario;

            tokens.Add(new Token("%Usuario.Nombre%", vUsuario.Nombre));
            //tokens.Add(new Token("%Usuario.Email%", usuario.Email));
            tokens.Add(new Token("%Usuario.CodigoUsuario%", vUsuario.CodigoUsuario));
            tokens.Add(new Token("%Usuario.Identificacion%", vUsuario.Identificacion));
            tokens.Add(new Token("%Usuario.Password%", vUsuario.Clave));
            return(tokens);
            //event notification
            //_eventPublisher.EntityTokensAdded(store, tokens);
        }