/// <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) }); } }
/// <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); }