/// <summary> /// Metodo para enviar correo notificacion Masivo /// </summary> /// <returns></returns> private void EnviarEmail(string email, string fecha, string hora) { try { NegocioDominio negocioDominio = new NegocioDominio(); Dominio emaiNotificacionLavadoFormato = negocioDominio.ConsultarPorId(Enums.EnumTablaDominio.notificacionLavado.ToString()); if (emaiNotificacionLavadoFormato.IsNull()) { throw new ExceptionControlada(string.Format(Mensajes.MsgErrorDominioNoEncontrado, Enums.EnumTablaDominio.sms_formato.ToString())); } var message = string.Format(emaiNotificacionLavadoFormato.valor, fecha.Substring(0, 10), hora); Dominio dominioSMTP = negocioDominio.ConsultarPorId(EnumTablaDominio.configuracionSMTP.ToString()); if (dominioSMTP.IsNull() || string.IsNullOrEmpty(dominioSMTP.valor)) { throw new ExceptionControlada(Mensajes.MsgConfiguracionSMTPRequerida); } CorreoProxy correoProxy = new CorreoProxy(dominioSMTP.valor); Correo correoEnviar = new Correo(); Dominio dominioRemitentePrincipal = negocioDominio.ConsultarPorId(EnumTablaDominio.correoRemitentePrincipal.ToString()); if (dominioRemitentePrincipal.IsNull() || string.IsNullOrEmpty(dominioRemitentePrincipal.valor)) { throw new ExceptionControlada(Mensajes.MsgCorreoRemitentePrincipal); } Dominio domonioAsuntoCorreo = negocioDominio.ConsultarPorId(EnumTablaDominio.asuntoNotificacionLavado.ToString()); if (domonioAsuntoCorreo.IsNull() || string.IsNullOrEmpty(domonioAsuntoCorreo.valor)) { throw new ExceptionControlada(Mensajes.MsgAsuntoCorreoRegistroPedido); } Dominio plantillaCorreo = negocioDominio.ConsultarPorId(EnumTablaDominio.plantillaCorreoNotificacion.ToString()); if (plantillaCorreo.IsNull() || string.IsNullOrEmpty(plantillaCorreo.valor)) { throw new ExceptionControlada(Mensajes.MsgTextoInicialCorreoRegistroPedido); } var bytes = Convert.FromBase64String(Constantes.IMAGEN_BANNER_NOTI); var contents = new MemoryStream(bytes); correoEnviar.De = dominioRemitentePrincipal.valor; correoEnviar.Asunto = domonioAsuntoCorreo.valor; correoEnviar.Para = new List <string>() { email }; correoEnviar.Cuerpo = plantillaCorreo.valor.Replace("@MESSAGE", message); correoEnviar.Adjunto = contents; correoProxy.EnviarCorreo(correoEnviar, true); } catch (Exception ex) { Logger log = Logger.Instancia; log.EscribirLogError($"Error al enviar Correo bono:{10}", ex); return; } }
public string sendNotificacionFirebase() { using (UnitOfWork unitOfWork = new UnitOfWork()) { //obtengo todas las personas y realizo el envio de la notificacion //cambiarlo para validar si realizaron el registro de entrada var persona = unitOfWork.UsuarioRepositorio.ObtenerListaUsuariosActivo(); if (persona.Count > 0) { NegocioDominio negocioDominio = new NegocioDominio(); Dominio notificacionPush = negocioDominio.ConsultarPorId(Enums.EnumTablaDominio.notificacionLavadoPush.ToString()); if (notificacionPush.IsNull()) { throw new ExceptionControlada(string.Format(Mensajes.MsgErrorDominioNoEncontrado, Enums.EnumTablaDominio.sms_formato.ToString())); } var mensaje = string.Format(notificacionPush.valor); //sendNotificacionFirebase("", "Hola"); foreach (var item in persona) { //Construyo el objeto para enviar la notificacion al celular var data = new { to = item.tokenDispositivo, data = new { name = item.nombres, userId = Convert.ToString(item.codUsuario), message = mensaje, status = true } }; sendNotificacionFirebase(data); } } return("Notificaciones enviadas correctamente"); } }