private void cmdAgregarCuenta_Click(object sender, RoutedEventArgs e)
        {
            //mensajeError = "";
            bool okPatron = Regex.IsMatch(txtCuenta.Text, patronCuenta1) || Regex.IsMatch(txtCuenta.Text, patronCuenta2);

            if (txtCuenta.Text.Length == 0 || !okPatron)
            {
                MessageBox.Show("Error: Debe proporcionar una cuenta válida");
            }
            else if (String.IsNullOrWhiteSpace(txtNumeroPuerto.Text.ToString()) || Convert.ToInt32(txtNumeroPuerto.Text) <= 0)
            {
                MessageBox.Show("Error: Debe proporcionar un número de puerto");
            }
            else
            {
                Indicador.InProgress = true;
                Indicador.Visibility = Visibility.Visible;
                ServiceGestionCuentas1.WsGestionaInfoCuentasPortTypeClient proxy        = new ServiceGestionCuentas1.WsGestionaInfoCuentasPortTypeClient();
                ServiceGestionCuentas1.WsGestionaInfoCuentasRQType         peticionType = new ServiceGestionCuentas1.WsGestionaInfoCuentasRQType();

                try
                {
                    //ServiceGestionCuentas1.gestionaCuentaRequest peticion = new ServiceGestionCuentas1.gestionaCuentaRequest();
                    //ServiceGestionCuentas1.WsGestionaInfoCuentasRQType peticion = new ServiceGestionCuentas1.WsGestionaInfoCuentasRQType();

                    //peticion.WsGestionaInfoCuentasRQ = peticionType;
                    peticionType.id_caja           = lblCaja.Text.ToString();
                    peticionType.cuenta            = txtCuenta.Text.ToString();
                    peticionType.numero_puerto     = txtNumeroPuerto.Text.ToString();
                    peticionType.operacion         = "asociar";
                    proxy.gestionaCuentaCompleted += new EventHandler <ServiceGestionCuentas1.gestionaCuentaCompletedEventArgs>(agregar_cuenta_completado);
                    proxy.gestionaCuentaAsync(peticionType);
                }
                catch (CommunicationException ex)
                {
                    MessageBox.Show(ex.Message);
                    LiteMessageBoxView ms = new LiteMessageBoxView();
                    ms.InitializeComponent();
                    ms.Focus();
                    ms.IsEnabled        = true;
                    ms.IsHitTestVisible = true;
                    ms.LayoutRoot       = this.LayoutRoot;


                    //lblErrores.Text = ex.Message;
                    proxy.Abort();
                    Indicador.InProgress = false;
                    Indicador.Visibility = Visibility.Collapsed;
                }

                limpiar();
            }
        }
        private void cmdDesagregarCuenta_Click(object sender, RoutedEventArgs e)
        {
            mensajeError = "";
            bool okPatron = Regex.IsMatch(txtCuenta.Text, patronCuenta1) || Regex.IsMatch(txtCuenta.Text, patronCuenta2);

            if (txtCuenta.Text.Length == 0 || !okPatron)
            {
                MessageBox.Show("Error: Debe proporcionar una cuenta válida");
            }
            else
            {
                Indicador.InProgress = true;
                Indicador.Visibility = Visibility.Visible;
                ServiceGestionCuentas1.WsGestionaInfoCuentasPortTypeClient proxy        = new ServiceGestionCuentas1.WsGestionaInfoCuentasPortTypeClient();
                ServiceGestionCuentas1.WsGestionaInfoCuentasRQType         peticionType = new ServiceGestionCuentas1.WsGestionaInfoCuentasRQType();

                try
                {
                    //ServiceGestionCuentas1.gestionaCuentaRequest peticion = new ServiceGestionCuentas1.gestionaCuentaRequest();



                    //peticion.WsGestionaInfoCuentasRQ = peticionType;
                    peticionType.id_caja           = lblCaja.Text.ToString();
                    peticionType.cuenta            = txtCuenta.Text.ToString();
                    peticionType.numero_puerto     = txtNumeroPuerto.Text.ToString();
                    peticionType.operacion         = "desasociar";
                    proxy.gestionaCuentaCompleted += new EventHandler <ServiceGestionCuentas1.gestionaCuentaCompletedEventArgs>(agregar_cuenta_completado);
                    proxy.gestionaCuentaAsync(peticionType);
                }
                catch (CommunicationException ex)
                {
                    MessageBox.Show(ex.Message);
                    //lblErrores.Text = ex.Message;
                    proxy.Abort();
                    Indicador.InProgress = false;
                    Indicador.Visibility = Visibility.Collapsed;
                }
                limpiar();
            }
        }