public void subscribe(string refid) { //Groups.g Add(Context.ConnectionId, userName); var con = connList.Find(c => c.ConnectionID == Context.ConnectionId); //agregar ref al connection list con.RefId = refid; var fromDate = DateTime.Parse("01/01/2018"); var list = HubContextHelper.GetCasesMessages(con.CustomerId, fromDate, refid, Guid.Parse(con.SubscriptionId)); }
/// <summary> /// registrar el cliente /// </summary> /// <param name="customerId"></param> /// <param name="linkChannelId"></param> /// <param name="userName"></param> public void register(string customerId, Guid linkChannelId, string userName) { var fromDate = DateTime.Parse("01/01/2018"); Groups.Add(Context.ConnectionId, userName); var conn = connList.Find(c => c.ConnectionID == Context.ConnectionId); conn.CustomerId = customerId; conn.Name = userName; conn.SubscriptionId = HubContextHelper.GetCases(customerId, linkChannelId, userName); //envio los casos disponibles para seleccionar SendCases(HubContextHelper.GetCasesMessages(customerId, fromDate, string.Empty, Guid.Parse(conn.SubscriptionId)), userName); }
/// <summary> /// Enviar un mensaje al chat group /// al ser publico puede ser invocado desde el cliente /// </summary> /// <param name="name"></param> /// <param name="message"></param> public void Send(string name, string message) { var msg = new TextMessage { Title = message, Text = message }; var conn = connList.Find(c => c.ConnectionID == Context.ConnectionId); if (conn == null) { return; } //atencion para enviar un mensaje a un grupo determinado se selecciona el grupo y se hace un broadcast a este //(todos los ejemplos con otros metodos no funcionan) //enviar un mensaje a todo el grupo //Clients.Group(name).broadcastMessage(name, msg); //enviar el mensaje para persistir HubContextHelper.SendClientMessage(conn, msg); }
//user public void UserRegister(string customerId, Guid linkChannelId, string userName, string subscriptionId, string refId) { var fromDate = DateTime.Parse("01/01/2018"); //refId como nombre de grupo Groups.Add(Context.ConnectionId, refId); var conn = connList.Find(c => c.ConnectionID == Context.ConnectionId); if (conn == null) { conn = new Connection(Context.ConnectionId, customerId); } conn.Name = refId; conn.SubscriptionId = HubContextHelper.GetCases(customerId, linkChannelId, userName); conn.RefId = refId; conn.SubscriptionId = subscriptionId; }
public async Task <string> Send(TrasnportMessage req) { try { var message = MessageFactory.MessageCreator(req); //verificar de que manera vamos a buscar a los usuarios conectados: id, connectionId, customerId, etc var user = ChatHub.connList.Find(c => c.Name == req.SendTo); //validar si el usuario esta conectado por si es necesario un reintento del mensaje //user.isConnected HubContextHelper.SendMessage(user, message, req.SendFrom); return(String.Format("Success ")); } catch (Exception ex) { return(ex.Message); } }