コード例 #1
0
        private void MensajeRecibido(ConexionTcp conexionTcp, string datos)
        {
            var    paquete = new Paquete(datos);
            string comando = paquete.Comando;

            if (comando == "login")
            {
                string        contenido = paquete.Contenido;
                List <string> valores   = Mapa.Deserializar(contenido);

                Invoke(new Action(() => textBox1.Text = valores[0]));
                Invoke(new Action(() => textBox2.Text = valores[1]));

                var msgPack = new Paquete("resultado", "OK");
                conexionTcp.EnviarPaquete(msgPack);
            }
            if (comando == "insertar")
            {
                string        contenido = paquete.Contenido;
                List <string> valores   = Mapa.Deserializar(contenido);
                usuariosTableAdapter.Insert(valores[0], valores[1]);
                var msgPack = new Paquete("resultado", "Registros en SQL: OK");
                conexionTcp.EnviarPaquete(msgPack);
            }
        }
コード例 #2
0
 private void ConexionRecibida(ConexionTcp conexionTcp)
 {
     lock (connectedClients)
         if (!connectedClients.Contains(conexionTcp))
         {
             connectedClients.Add(conexionTcp);
         }
     Invoke(new Action(() => label1.Text = string.Format("Clientes: {0}", connectedClients.Count)));
 }
コード例 #3
0
 private void ConexionCerrada(ConexionTcp conexionTcp)
 {
     lock (connectedClients)
         if (connectedClients.Contains(conexionTcp))
         {
             int cliIndex = connectedClients.IndexOf(conexionTcp);
             connectedClients.RemoveAt(cliIndex);
         }
     Invoke(new Action(() => label1.Text = string.Format("Clientes: {0}", connectedClients.Count)));
 }
コード例 #4
0
 private void ConexionRecibida(ConexionTcp conexionTcp)
 {
     //LOCK SIRVE PARA BLOQUEAR VARIABLES (¿Semáforos?)
     lock (connectedClients)
         if (!connectedClients.Contains(conexionTcp))
         {
             connectedClients.Add(conexionTcp);
         }
     Invoke(new Action(() => label1.Text = string.Format("Clientes: {0}", connectedClients.Count)));
 }
コード例 #5
0
        private void MensajeRecibido(ConexionTcp conexionTcp, string datos)
        {
            //GUARDAR EN LA BASE DE DATOS EL INTENTO DE CONEXION!!!

            var    paquete = new Paquete(datos);
            string comando = paquete.Comando;

            if (comando == "login")   //AQUI AÑADIMOS MAS TIPOS DE COMANDO
            {
                string        contenido = paquete.Contenido;
                List <string> valores   = Mapa.Deserializar(contenido);

                var msgPack = new Paquete();

                try
                {
                    usuariosTableAdapter.Fill(dataSet11.Usuarios);
                    if (string.IsNullOrEmpty(dataSet11.Usuarios.Select(valores[0]).ToString()))
                    {
                        msgPack = new Paquete("resultado", "Sesion Iniciada.");
                    }
                }
                catch (Exception)
                {
                    msgPack = new Paquete("resultado", "El usuario no existe, registrese.");
                }
                //usuariosTableAdapter.GetData()

                conexionTcp.EnviarPaquete(msgPack);
            }

            if (comando == "register")
            {
                string        contenido = paquete.Contenido;
                List <string> valores   = Mapa.Deserializar(contenido);

                var msgPack = new Paquete();

                try
                {
                    usuariosTableAdapter.Insert(valores[0], valores[1]);
                    usuariosTableAdapter.Update(dataSet11.Usuarios);
                    usuariosTableAdapter.Fill(dataSet11.Usuarios);
                    msgPack = new Paquete("resultado", "Registro realizado con éxito.");
                }
                catch (Exception)
                {
                    msgPack = new Paquete("resultado", "El usuario ya existe.");
                }
                conexionTcp.EnviarPaquete(msgPack);
            }
        }
コード例 #6
0
        private void AceptarClientes()
        {
            do
            {
                try
                {
                    var conexion  = _tcpListener.AcceptTcpClient();
                    var srvClient = new ConexionTcp(conexion)
                    {
                        ReadThread = new Thread(LeerDatos)
                    };
                    srvClient.ReadThread.Start(srvClient);

                    if (OnClientConnected != null)
                    {
                        OnClientConnected(srvClient);
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message.ToString());
                }
            } while (true);
        }
コード例 #7
0
        }// FormServidor_Load

        private void MensajeRecibido(ConexionTcp conexionTcp, string datos)
        {
            var    paquete = new Paquete(datos);
            string comando = paquete.comando;

            if (comando == "insertarCajero")
            {
                string        contenido = paquete.contenido;
                List <string> valores   = Mapa.Deserializar(contenido);
                Cajero        cajero    = new Cajero();
                cajero.usuario      = valores[0];
                cajero.nombre       = valores[1];
                cajero.primerAp     = valores[2];
                cajero.segundoAp    = valores[3];
                cajero.cajaAsignada = 0;
                cajero.activo       = false;

                conexiondb.InsertarCajero(cajero);

                var msgPack = new Paquete("resultadoCajero", "Registro completado.");
                conexionTcp.EnviarPaquete(msgPack);

                if (txtBitacora.InvokeRequired)
                {
                    txtBitacora.Invoke(new MethodInvoker(delegate { txtBitacora.Text = txtBitacora.Text + "Nuevo cajero registrado: " + DateTime.Now.ToString() + "\r\n"; }));
                }
            }
            if (comando == "insertarVenta")
            {
                string        contenido = paquete.contenido;
                List <string> valores   = Mapa.Deserializar(contenido);
                string        usuario   = valores[0];
                DateTime      fecha     = Convert.ToDateTime(valores[1]);
                int           codProd   = Convert.ToInt32(valores[2]);
                int           cantidad  = Convert.ToInt32(valores[3]);
                decimal       precio;
                decimal       montoTotal;
                if (conexiondb.validarUsuario(usuario) != 0)
                {
                    if (conexiondb.esActivo(usuario))
                    {
                        if (conexiondb.validarCodProducto(codProd) != 0)
                        {
                            if (conexiondb.obtenerCantidad(codProd) >= cantidad)
                            {
                                precio     = conexiondb.obtenerPrecio(codProd);
                                montoTotal = precio * cantidad;
                                Venta venta = new Venta();
                                venta.cajeroUsuario  = usuario;
                                venta.fecha          = fecha;
                                venta.codigoProducto = codProd;
                                venta.precioProducto = precio;
                                venta.cantidad       = cantidad;
                                venta.montoTotal     = montoTotal;
                                conexiondb.insertarVenta(venta);
                                var msgPack = new Paquete("resultadoVenta", "Registro completado.");
                                conexionTcp.EnviarPaquete(msgPack);

                                int nuevaCant = conexiondb.obtenerCantidad(codProd) - cantidad;
                                conexiondb.actualizarCantidad(codProd, nuevaCant);

                                if (txtBitacora.InvokeRequired)
                                {
                                    txtBitacora.Invoke(new MethodInvoker(delegate { txtBitacora.Text = txtBitacora.Text + "Nueva venta registrada: " + DateTime.Now.ToString() + "\r\n"; }));
                                }
                            }
                            else
                            {
                                var msgPackProdInsuficiente = new Paquete("resultadoVenta", "No hay suficiente inventario del producto para realizar la venta.");
                                conexionTcp.EnviarPaquete(msgPackProdInsuficiente);
                            }
                        }
                        else
                        {
                            var msgPackProdNoEncontrado = new Paquete("resultadoVenta", "Producto no encontrado.");
                            conexionTcp.EnviarPaquete(msgPackProdNoEncontrado);
                        }
                    }
                    else
                    {
                        var msgPackUsuarioNoAutorizd = new Paquete("resultadoVenta", "Usuario no Autorizado.");
                        conexionTcp.EnviarPaquete(msgPackUsuarioNoAutorizd);
                    }
                }
                else
                {
                    var msgPackUsuarioNoEncontrado = new Paquete("resultadoVenta", "Usuario no encontrado.");
                    conexionTcp.EnviarPaquete(msgPackUsuarioNoEncontrado);
                }
            }
            if (comando == "usuarioConectado")
            {
                string contenido = paquete.contenido;

                if (txtBitacora.InvokeRequired)
                {
                    txtBitacora.Invoke(new MethodInvoker(delegate { txtBitacora.Text = txtBitacora.Text + contenido + ": " + DateTime.Now.ToString() + "\r\n"; }));
                }
            }
            if (comando == "usuarioDesconectado")
            {
                string contenido = paquete.contenido;

                if (txtBitacora.InvokeRequired)
                {
                    txtBitacora.Invoke(new MethodInvoker(delegate { txtBitacora.Text = txtBitacora.Text + contenido + ": " + DateTime.Now.ToString() + "\r\n"; }));
                }
            }
            if (comando == "inicioSesion")
            {
                string contenido        = paquete.contenido;
                bool   cajeroAutorizado = conexiondb.esActivo(contenido);

                if (conexiondb.validarUsuario(contenido) != 0)
                {
                    if (cajeroAutorizado)
                    {
                        var msgPackAutorizado = new Paquete("resultadoIncSes", "Sesión Iniciada");
                        conexionTcp.EnviarPaquete(msgPackAutorizado);
                    }
                    else
                    {
                        var msgPack = new Paquete("resultadoIncSes", "Usuario no autorizado. Debe esperar a que se le autorize para registrar ventas.");
                        conexionTcp.EnviarPaquete(msgPack);
                    }
                }
                else
                {
                    var msgPack = new Paquete("resultadoIncSes", "Usuario no encontrado.");
                    conexionTcp.EnviarPaquete(msgPack);
                }
            }
        }// MensajeRecibido