예제 #1
0
        public void Send(int idRoom, string userName, int idUser, string message, string AccessToken)
        {
            if (VerifyToken(AccessToken))
            {
                string fecha = "";
                using (ChatDBEntities db = new ChatDBEntities())
                {
                    //cre el nuevo message en la DB
                    var oMessage = new message();
                    oMessage.idestate     = 1;
                    oMessage.idRoom       = idRoom;
                    oMessage.idUser       = idUser;
                    oMessage.text         = message;
                    oMessage.date_created = DateTime.Now;

                    db.message.Add(oMessage);
                    db.SaveChanges();

                    fecha = oMessage.date_created.ToString();
                }
                // aqui se manda a todos los grupos a todo el chat
                // Clients.All.sendChat(userName, message, fecha, idUser);

                //aqui se manda solo a este grupo o sala de chat
                Clients.Group(idRoom.ToString()).sendChat(userName, message, fecha, idUser);
            }
        }
예제 #2
0
        public void GuardaMensaje(MensajeDTO msg)
        {
            ChatDBEntities ctx           = new ChatDBEntities();
            Mensajes       nuevo_mensaje = new Mensajes()
            {
                Receptor = msg.Receptor,
                Emisor   = msg.Emisor,
                Texto    = msg.Mensaje,
                Fecha    = DateTime.Now
            };

            ctx.Mensajes.Add(nuevo_mensaje);
            ctx.SaveChanges();
        }
예제 #3
0
        protected bool VerifyToken(string AccessToken)
        {
            using (ChatDBEntities db = new ChatDBEntities())
            {
                var oUser = db.user.Where(d => d.access_Token == AccessToken).FirstOrDefault();

                if (oUser != null)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #4
0
        protected bool VerifyToken(string AccessToken)
        {
            //verificar si existe ese token que se envia
            using (ChatDBEntities db = new ChatDBEntities())
            {
                var oUser = db.user.Where(d => d.access_token == AccessToken).FirstOrDefault();

                if (oUser != null)
                {
                    return(true);
                }
            }

            return(false);
        }
예제 #5
0
        public List <MensajeDTO> ObtenerMensajes(string Receptor, string Emisor)
        {
            List <MensajeDTO> final = new List <MensajeDTO>();
            ChatDBEntities    ctx   = new ChatDBEntities();
            var listaTemp           = (from p in ctx.Mensajes
                                       where (p.Emisor.Equals(Emisor) /*|| p.Receptor.Equals(Receptor)*/)
                                       orderby p.Fecha
                                       select p).ToList();

            foreach (var item in listaTemp)
            {
                final.Add(new MensajeDTO()
                {
                    Receptor = item.Receptor,
                    Emisor   = item.Emisor,
                    Mensaje  = item.Texto
                });
            }
            return(final);
        }
예제 #6
0
        public void Send(int idRoom, string userName, int idUser, string message, string AccessToken)
        {
            if (VerifyToken(AccessToken))
            {
                string fecha = DateTime.Now.ToString();

                using (ChatDBEntities db = new ChatDBEntities())
                {
                    var oMessage = new message();
                    oMessage.idRoom       = idRoom;
                    oMessage.date_created = DateTime.Now;
                    oMessage.idUser       = idUser;
                    oMessage.text         = message;
                    oMessage.idState      = 1;

                    db.message.Add(oMessage);
                    db.SaveChanges();
                }

                //Para no enviar a todos los grupos se comenta y se realiza lo siguiente
                //Clients.All.sendChat(userName, message, fecha, idUser);
                Clients.Group(idRoom.ToString()).sendChat(userName, message, fecha, idUser);
            }
        }