Ejemplo n.º 1
0
        private void BuscarCliente()//metodo para buscar al cliente
        {
            try
            {
                LimpiarDGV();                                                            //limpia el datagridview

                ClientesDataTable dataCli = new ClientesDataTable();                     //objeto para almacenar la informacion del cliente buscado
                if (rbtId.Checked)                                                       //si el radiobutton id esta tachado
                {
                    dataCli = adapterCli.BuscarClientPorId(Convert.ToInt32(txtId.Text)); //se busca el cliente por el id introducido en el textbox id
                }
                else //si es el radiobutton nombre que esta tachado
                {
                    dataCli = adapterCli.BuscarClientPorNombre(cboNombre.Text);//se busca el cliente por el nombre introducido en el combobox nombre
                }

                if (dataCli.Rows.Count > 0)                                                                                             //si se encontró un cliente con la informacion introducida
                {
                    txtId.Text     = dataCli[0][dataCli.IdClienteColumn].ToString();                                                    //se coloca el id en el textbox id
                    cboNombre.Text = dataCli[0][dataCli.NombreColumn].ToString() + ' ' + dataCli[0][dataCli.ApellidoColumn].ToString(); //se coloca el nombre completo del cliente en el combobox nombre
                    MontoDebe      = Convert.ToDecimal(dataCli[0][dataCli.MontoDebeColumn].ToString());                                 //se almacena el monto que debe el cliente en la variable

                    if (MontoDebe > 0)                                                                                                  //si el cliente tiene deudas pendientes
                    {
                        CargarDeudas(Convert.ToInt32(dataCli[0][dataCli.IdClienteColumn].ToString()));                                  //se cargan las deudas
                        btnAbonar.Enabled   = true;                                                                                     //se habilita el boton abonar
                        btnDetallar.Enabled = true;                                                                                     //se habilita el boton detallar
                        grbPago.Enabled     = true;                                                                                     //se habilita el groupbox para abonar
                        txtAbonar.Focus();                                                                                              //se hace focus en el textbox abonar
                    }
                    else//si el cliente no tiene deudas
                    {
                        btnAbonar.Enabled   = false;                                                                                                                                                      //se deshabilita el boton abonar
                        btnDetallar.Enabled = false;                                                                                                                                                      //se deshabilita el boton detallar
                        grbPago.Enabled     = false;                                                                                                                                                      //se deshabilita el groupbox pago
                        MessageBox.Show("Este cliente no tiene deudas", "Pagar deudas", MessageBoxButtons.OK, MessageBoxIcon.Information);                                                                //notifica al usuario que el cliente no tiene deudas mediante un mensaje
                    }
                    log.Info($"Se buscó al cliente con el {(rbtId.Checked == true ? "Id" : "Nombre")}: {cboNombre.Text} en la ventana Pagar Deudas por el usuario {usuario.Nombre} {usuario.Apellidos}"); //se registra que se buscó al cliente
                }
                else//si no se encontró al cliente
                {
                    MessageBox.Show("No se econtró a este cliente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);                                                                                                        //notifica al usuario que no se encontro el cliente mediante un mensaje
                    log.Info($"Se intentó buscar al cliente con el {(rbtId.Checked == true ? "Id" : "Nombre")}: {cboNombre.Text} en la ventana Pagar Deudas por el usuario {usuario.Nombre} {usuario.Apellidos} pero no se encontró"); //registra que no se encontró el cliente
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 2
0
        private void BuscarCliente()//metodo para realizar la busqueda
        {
            try
            {
                if (rbtId.Checked)                                                     //si el radiobutton id esta tachado
                {
                    data = adapter.BuscarClientPorId(Convert.ToInt32(txtFiltro.Text)); //se busca un cliente por su id
                }
                else if (rbtNombre.Checked)                                            //si radiobutton nombre esta tachado
                {
                    data = adapter.BuscarClientPorNombre(txtFiltro.Text);              //se busca un cliente por su nombre completo
                }

                if (txtFiltro.Text == "") //si no hay ningun parametro de busqueda
                {
                    return;               //termina el metodo
                }

                if (data.Rows.Count != 0)                                                                                                                                          //si se encuentra un cliente
                {
                    foreach (ClientesRow item in data)                                                                                                                             //recorre la fila del cliente encontrado (uso un foreach para que sea mas facil manipular las columnas de la fila del cliente)
                    {
                        txtNombre.Text    = item.Nombre;                                                                                                                           //se coloca el nombre del cliente buscado en el textbox nombre
                        txtApellidos.Text = item.Apellido;                                                                                                                         //se coloca el apellido en el textbox apellido
                        txtTelefono.Text  = item.Telefono;                                                                                                                         //se coloca el telefono en el textbox telefono
                        txtDireccion.Text = item.Direccion;                                                                                                                        //se coloca la direccion en el textbox direccion
                        idCliente         = item.IdCliente;                                                                                                                        //se guarda el id del cliente para posteriormente modificarlo
                    }
                    Permitir();                                                                                                                                                    //permite manipular el textbox telefono y direccion y el boton modificar
                    txtTelefono.Focus();                                                                                                                                           //hace focus en el textbox telefono
                    log.Info($"Se buscó al cliente con el {(rbtNombre.Checked == true ? "nombre" : "Id")}: {txtFiltro.Text} por el usuario {usuario.Nombre} {usuario.Apellidos}"); //se registra que se buscó un cliente
                }
                else//si no se encuentra un cliente
                {
                    MessageBox.Show($"No se encontró un cliente con el {(rbtNombre.Checked == true ? "nombre" : "Id")}: {txtFiltro.Text}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);                //notifica al usuario que el cliente con los datos introducidos no se encontró mediante un mensaje
                    log.Warn($"Se intentó buscar al cliente con el {(rbtNombre.Checked == true ? "nombre" : "Id")}: {txtFiltro.Text} por el usuario {usuario.Nombre} {usuario.Apellidos} pero no se encontró"); //se registra que se buscó un cliente que no se encontró
                    this.Limpiar();                                                                                                                                                                             //limpia la ventana
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 3
0
        private void ComprobarCliente()
        {
            try
            {
                ClientesDataTable data = adapterCli.BuscarClientPorNombre(cboNombreCliente.Text);

                if (data.Count != 0)
                {
                    foreach (ClientesRow item in data)
                    {
                        txtDireccion.Text = item.Direccion;
                        clienteDebe       = item.MontoDebe;
                        txtTelefono.Text  = item.Telefono;
                        idCliente         = item.IdCliente;
                    }
                    DesbloquearControles();
                    txtIdProducto.Focus();

                    btnFacturar.Enabled = dgvProductos.Rows.Count > 0 ? true : false;

                    log.Info($"Se buscó al cliente {cboNombreCliente.Text} para una factura por el usuario {usuario.Nombre} {usuario.Apellidos}");
                }
                else
                {
                    log.Info($"Se intentó buscar al cliente {cboNombreCliente.Text} para una factura por el usuario {usuario.Nombre} {usuario.Apellidos} pero no existe");
                    if (MessageBox.Show("No se encontró este cliente, desea agregarlo?", "Comprobación del cliente", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        AgregarCliente agregarCliente = new AgregarCliente(usuario, cboNombreCliente.Text);
                        agregarCliente.ShowDialog();

                        if (agregarCliente.DialogResult == DialogResult.OK)
                        {
                            cboNombreCliente.Text = agregarCliente.txtNombre.Text + " " + agregarCliente.txtApellido.Text;
                            ComprobarCliente();
                        }
                    }
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }