Exemplo n.º 1
0
        public void ConectarUsuario(UsuarioConexion usuarioConexion)
        {
            lock (UserHandler.Connections)
            {
                usuarioConexion.conectionId = Context.ConnectionId;

                if (UserHandler.Connections.ContainsKey(usuarioConexion.Alias) && !UserHandler.ValidarMac(usuarioConexion))
                {
                    throw new HubException("El usuario ya esta conectado.");
                }
                else
                {
                    UserHandler.Connections.Remove(usuarioConexion.Alias);
                }
                UserHandler.Connections.Add(usuarioConexion.Alias, usuarioConexion);
            }

            BingoServerEntities db = new BingoServerEntities();

            try
            {

                Bingousuario bingoUsuario = (from n in db.Bingousuarios
                                             where n.Alias == usuarioConexion.Alias
                                             select n).FirstOrDefault();

                if (bingoUsuario == null)
                {
                    bingoUsuario = new Bingousuario
                    {
                        Alias = usuarioConexion.Alias,
                        Ip = usuarioConexion.Ip,
                        Macadress = usuarioConexion.Macaddress,
                        Gpslatitud = usuarioConexion.Gpslatitud,
                        Gpslongitud = usuarioConexion.Gpslongitud,
                        Imagenuser = usuarioConexion.Imagenuser,
                        Ultimafechaconexion = DateTime.Now,
                        Ultimafechadejuego = DateTime.Now,
                        Socsucursal = ConfigManager.SocSucursal,
                        Activo = false
                    };

                    db.Bingousuarios.Add(bingoUsuario);

                    db.SaveChanges();

                }
                else
                {
                    bingoUsuario.Ultimafechaconexion = DateTime.Now;
                    bingoUsuario.Ultimafechadejuego = DateTime.Now;
                    db.Bingousuarios.Attach(bingoUsuario);
                    db.Entry(bingoUsuario).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch
            {

            }
        }