Y de esta forma realizar acciones sin que el usuario intervenga.
Para ello necesitas disparar el evento desde un proceso de DLL (mediante cron, crud o menú) y capturarlo desde JS y reaccionar de la forma deseada.
El código de dll de ejemplo sería así:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Security;
using System.Text;
using System.Threading.Tasks;
using FLEXYGO.Objects;
using FLEXYGO.Web;
using FLEXYGO.Caching;
using FLEXYGO.Utilities.General;
using FLEXYGO.Exceptions;
using FLEXYGO.Processing;
using static FLEXYGO.Processing.ProcessManager;
using FLEXYGO.Configuration.Tokens;
using FLEXYGO.Objects.Settings;
using static FLEXYGO.Utilities.SQL.SQLUtilities;
using static FLEXYGO.Utilities.General.Util;
using System.Web.Hosting;
using System.Net.Mail;
using FLEXYGO.Data;
using System.IO.Compression;
using FLEXYGO.Security;
using System.Net;
using System.Web;
using FLEXYGO.Localization;
using FLEXYGO.Interfaces.SignalR.Events;
using FlexyGo.SignalR;
namespace Ejemplo{
namespace Ejemplo{
public class Eventos {
// <summary>
// Disparar un evento desde el servidor para que reaccione un usuario en concreto.
// </summary>
// <param name="Entity">Entity with current object.</param>
// <param name="Ret">ProcessHelper class with context and return data.</param>
// <returns>True if works, false if not.</returns>
public static bool Disparar_evento(EntityObject Entity, ref ProcessHelper Ret)
{
try
{
// Preparamos un objeto cualquiera con los datos que queremos hacer llegar al cliente.
object[] sender = new object[2];
object[] sender = new object[2];
sender[0] = new { firstName = "john", lastName = "walter" };
sender[1] = new { brand = "BMW" };
// Genera un evento de clase push y tipo updated y asigna los datos que queremos hacer llegar al cliente.
EventHelper ev = new EventHelper(eEventClass.Push, eEventType.Updated) { sender = sender };
ev.masterIdentity = "Evento_Prueba";
//Disparar evento a un usuario en concreto.
Events.FireGenericUserEvent(ev, "admin");
//Disparar evento a un ID de usuario en concreto.
//Events.FireGenericUserIDEvent(ev,"1");
//Disparar evento a todos los usuarios.
//Events.FireGenericAllUserEvent(ev);
Ret.Success = true;
return true;
}
catch (Exception ex)
{
Ret.Success = false;
Ret.LastException = ex;
return false;
}
}
}
}
Y el código de JS de ejemplo así:
flexygo.events.off(document, 'push', 'updated');
flexygo.events.on(document, 'push', 'updated', capturar_evento);
function capturar_evento(e){
if(e.masterIdentity=='Evento_Prueba'){
flexygo.events.on(document, 'push', 'updated', capturar_evento);
function capturar_evento(e){
if(e.masterIdentity=='Evento_Prueba'){
debugger;
console.log(e.sender);
console.log(e.sender[0].firstName); //john
console.log(e.sender[0].lastName); //walter
console.log(e.sender[1].brand); //BMW
}
}
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo