/// <summary> /// Notifica a todos los usuarios con privilegio específico. /// </summary> /// <param name="PRIVS_LLAVE"></param> /// <param name="estado"></param> /// <param name="titulo"></param> /// <param name="mensaje"></param> /// <param name="mensajeParams"></param> public void NotifyUsers(string PRIVS_LLAVE, EstadosNotificacion estado, string titulo, string mensaje, params object[] mensajeParams) { try { List <usuario> usuarios = null; if (string.IsNullOrEmpty(PRIVS_LLAVE)) { Seguridad.UsuarioLogic usuariologic = new Seguridad.UsuarioLogic(); usuarios = usuariologic.GetUsuarios(); } else { Seguridad.PrivilegioLogic privilegiologic = new Seguridad.PrivilegioLogic(); usuarios = privilegiologic.GetUsuariosWithPrivilege(PRIVS_LLAVE); } StringBuilder mensajeBuilder = new StringBuilder(); string mensajeFormateado = mensajeBuilder.AppendFormat(mensaje, mensajeParams).ToString(); using (var db = new colinasEntities()) { foreach (usuario usr in usuarios) { notificacion notification = new notificacion(); notification.NOTIFICACION_ESTADO = (int)estado; notification.USR_USERNAME = usr.USR_USERNAME; notification.NOTIFICACION_TITLE = titulo; //"Notas de Peso en Catación"; notification.NOTIFICACION_MENSAJE = mensajeFormateado; //"Ya tiene disponible la nota de peso #" + note.NOTAS_ID + "."; notification.NOTIFICACION_FECHA = DateTime.Now; db.notificaciones.AddObject(notification); } db.SaveChanges(); } } catch (Exception ex) { log.Fatal("Error fatal al notificar usuarios.", ex); throw; } }
/// <summary> /// Notifica a todos los usuarios con privilegio específico. /// </summary> /// <param name="PRIVS_LLAVE"></param> /// <param name="estado"></param> /// <param name="titulo"></param> /// <param name="mensaje"></param> /// <param name="mensajeParams"></param> public void NotifyUsers(string PRIVS_LLAVE, EstadosNotificacion estado, string titulo, string mensaje, params object[] mensajeParams) { try { List<usuario> usuarios = null; if (string.IsNullOrEmpty(PRIVS_LLAVE)) { Seguridad.UsuarioLogic usuariologic = new Seguridad.UsuarioLogic(); usuarios = usuariologic.GetUsuarios(); } else { Seguridad.PrivilegioLogic privilegiologic = new Seguridad.PrivilegioLogic(); usuarios = privilegiologic.GetUsuariosWithPrivilege(PRIVS_LLAVE); } StringBuilder mensajeBuilder = new StringBuilder(); string mensajeFormateado = mensajeBuilder.AppendFormat(mensaje, mensajeParams).ToString(); using (var db = new colinasEntities()) { foreach (usuario usr in usuarios) { notificacion notification = new notificacion(); notification.NOTIFICACION_ESTADO = (int)estado; notification.USR_USERNAME = usr.USR_USERNAME; notification.NOTIFICACION_TITLE = titulo; //"Notas de Peso en Catación"; notification.NOTIFICACION_MENSAJE = mensajeFormateado ; //"Ya tiene disponible la nota de peso #" + note.NOTAS_ID + "."; notification.NOTIFICACION_FECHA = DateTime.Now; db.notificaciones.AddObject(notification); } db.SaveChanges(); } } catch (Exception ex) { log.Fatal("Error fatal al notificar usuarios.", ex); throw; } }