diff --git a/App_Code/ClsSisNotificaciones.vb b/App_Code/ClsSisNotificaciones.vb index 082e9a966..82679d758 100644 --- a/App_Code/ClsSisNotificaciones.vb +++ b/App_Code/ClsSisNotificaciones.vb @@ -158,8 +158,18 @@ Public Class ClsSisNotificaciones End If End Sub + Public Shared Sub ContadorCampana(Mensaje As String, CveUsuario As String) + Dim hub = GlobalHost.ConnectionManager.GetHubContext(Of Notificaciones)() + 'VERIFICA SI EXISTE LA CONEXION DEL USUARIO + If Notificaciones.UsuariosConexiones.Keys.Any(Function(key) key = CveUsuario) Then + hub.Clients.Client(Notificaciones.UsuariosConexiones(CveUsuario)).ContadorCampana(Mensaje) + End If + End Sub - Public Sub DispararNotificacion(CveNotificacion As Integer, CvesFiltro As List(Of Object), CveEmpresa As Integer) + + Public Sub DispararNotificacion(CveNotificacion As Integer, CvesFiltro As List(Of Object), CveEmpresa As Integer) + + _CveNotificacion = CveNotificacion _CveEmpresa = CveEmpresa diff --git a/App_Code/Notificaciones.vb b/App_Code/Notificaciones.vb index a0e44a996..337108aa2 100644 --- a/App_Code/Notificaciones.vb +++ b/App_Code/Notificaciones.vb @@ -63,6 +63,13 @@ Public Class Notificaciones End If End Sub + Public Sub ContadorCampana(ContadorMesagge As String, Para As List(Of String)) + If (Para IsNot Nothing) AndAlso Para.Count > 0 Then + Dim Clients As Hubs.IHubConnectionContext(Of Object) = GlobalHost.ConnectionManager.GetHubContext(Of Notificaciones)().Clients + Clients.Users(Para).ContadorCampana(ContadorMesagge) + End If + End Sub + End Class Public Class MyhubUserIdProvider Implements IUserIdProvider diff --git a/Inicio.aspx.vb b/Inicio.aspx.vb index f59cc163f..ce9b8457f 100644 --- a/Inicio.aspx.vb +++ b/Inicio.aspx.vb @@ -67,8 +67,9 @@ Partial Class Inicio End Sub Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then - - + 'Using objnoti = New ClsSisNotificaciones() + ' objnoti.ContadorCampana("Mi Mensaje", UsuarioActual.CveUsuario.ToString()) + 'End Using If Not IsNothing(Request("logout")) AndAlso Request("logout").ToString() = "1" Then Usuario.CerrarSession() diff --git a/Scripts/Notificaciones.js b/Scripts/Notificaciones.js index f2b9ec0b0..faef712ec 100644 --- a/Scripts/Notificaciones.js +++ b/Scripts/Notificaciones.js @@ -94,7 +94,11 @@ var NotificacionesADS = function () { } } }; - + var ContadorCampana = function (contadormessage) { + console.log('(SignalR) ContadorCampana \'' + contadormessage); + localStorage.setItem("ContadorCampana", ""); + localStorage.setItem("ContadorCampana", contadormessage); + } //-------------------------------------------------------------------- EndEventos ---------------------------------------------------------------------- function closeopenConexion() { if (VentanaConConexion) { @@ -122,6 +126,7 @@ var NotificacionesADS = function () { }); proxy.client.alertaVentana = AlertaVentana; + proxy.client.ContadorCampana = ContadorCampana; proxy.client.Execstring = Execstring; @@ -138,7 +143,7 @@ var NotificacionesADS = function () { setTimeout(function () { nointentos = nointentos + 1; if (nointentos < maxintentos) { - $.connection.hub.start().done(function () { console.log('(SignalR)Bienvenido'); nointentos = 0; }) + $.connection.hub.start().done(function () { console.log('(SignalR) Bienvenido'); nointentos = 0; }) .fail(function () { console.log(' (SignalR) no conectado (Intento:' + nointentos + ')'); signalrconectionStar(1200); }); } }, TimeOut); @@ -159,6 +164,8 @@ var NotificacionesADS = function () { /// x = 1; } + console.log({ key: evt.key }); + console.log({newValue: evt.newValue}); switch (evt.key + "") { case 'ADSCloseConection': closeopenConexion(); @@ -173,6 +180,15 @@ var NotificacionesADS = function () { window.removeEventListener("beforeunload", beforeunloadcloseopenConexion); } break; + + case 'ContadorCampana': + try { + console.log('(SignalR) contadormessage \'' + evt.newValue); + + } catch (e) { + console.error('(SignalR) contadormessage \''+e); + } + break; case 'ADSNotificaciones': try { let obj = JSON.parse(evt.newValue);