Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        //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);
            }
        }