public void eliminar()
        {
            if (tbEstados.SelectedRows.Count > 0)
            {
                DialogResult dialogo = MessageBox.Show("¿Estás seguro de eliminar el estado?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                if (dialogo == DialogResult.Yes)
                {
                    daoEstado = new DaoEstado();

                    Conexion.abrirConexion();

                    if (daoEstado.eliminar(Convert.ToInt32(tbEstados.SelectedRows[0].Cells["Clave"].Value)))
                    {
                        MessageBox.Show("¡El estado ha sido correctamente eliminado!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);

                        cargarDatos();
                    }
                    else
                    {
                        String error = Environment.NewLine + "-> Hay municipios relacionados con " + tbEstados.SelectedRows[0].Cells["Nombre"].Value;
                        MessageBox.Show("¡No se ha podido realizar la operación!" + error, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    Conexion.cerrarConexion();
                }
            }
            else
            {
                MessageBox.Show("¡Debes seleccionar una fila!", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            txtBusqueda.Text = "";
        }
        private void cargarEstados()
        {
            List <Estado> listaEstados = new List <Estado>();

            try
            {
                Conexion.abrirConexion();

                daoEstado    = new DaoEstado();
                listaEstados = daoEstado.consultarTodos();
                Conexion.cerrarConexion();

                if (listaEstados.Count > 0)
                {
                    cmbEstado.Items.Add("SELECCIONA UNA OPCIÓN");

                    foreach (var item in listaEstados)
                    {
                        cmbEstado.Items.Add(item.Nombre);
                    }
                }
                else
                {
                    MessageBox.Show("¡No hay estados registrados!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                cmbEstado.SelectedIndex = 0;
            }
            catch (Exception e)
            {
            }
        }
        private void cargarEstados()
        {
            List <Estado> listaEstados = new List <Estado>();

            try
            {
                Conexion.abrirConexion();

                DaoEstado daoEstado = new DaoEstado();
                daoEstado    = new DaoEstado();
                listaEstados = daoEstado.consultarTodos();

                Conexion.cerrarConexion();

                cmbEstado.Items.Add("SELECCIONA UNA OPCIÓN");

                foreach (var item in listaEstados)
                {
                    cmbEstado.Items.Add(item.Nombre);
                }

                cmbEstado.SelectedIndex = 0;
            }
            catch (Exception e)
            {
            }
        }
        public void guardar()
        {
            if (esCorrecto())
            {
                try
                {
                    Conexion.abrirConexion();
                    daoEstado = new DaoEstado();

                    if (operacion.Equals("Agregar"))
                    {
                        //Saber si ya hay un municipio igual en la base de datos

                        if (daoEstado.consultarRepetido(txtNombre.Text.Trim()))
                        {
                            Conexion.cerrarConexion();
                            MessageBox.Show("¡" + txtNombre.Text.Trim() + " ya existe en la base de datos!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            llenarModelo();

                            if (daoEstado.agregar(elemento))
                            {
                                MessageBox.Show("¡El estado ha sido correctamente guardado!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                this.Close();
                            }
                            else
                            {
                                MessageBox.Show("¡Ha ocurrido un error al intentar guardar!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                    else
                    {
                        llenarModelo();

                        if (daoEstado.editar(elemento))
                        {
                            MessageBox.Show("¡El estado ha sido correctamente guardado!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("¡Ha ocurrido un error al intentar guardar!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }

                    Conexion.cerrarConexion();

                    actualizarTabla();
                }
                catch (Exception e)
                {
                    Conexion.cerrarConexion();
                }
            }
        }
        public void llenarControles()
        {
            daoCliente = new DaoCliente();
            daoEstado  = new DaoEstado();
            elemento   = new Cliente();
            Municipio    elementoMunicipio    = new Municipio();
            Asentamiento elementoAsentamiento = new Asentamiento();

            Conexion.abrirConexion();
            elemento = daoCliente.consultarUno(id);


            if (elemento != null)
            {
                txtClave.Text = elemento.Clave.ToString();
                // elemento.Estatus = Convert.ToChar(tx);
                if (elemento.Estatus == 1)
                {
                    rdActivo.Checked = true;
                }
                else
                {
                    rdInactivo.Checked = true;
                }

                txtRFC.Text         = elemento.RFC.ToString();
                txtNombre.Text      = elemento.Nombre.ToString();
                txtApellidos.Text   = elemento.Apellidos.ToString();
                txtTelefono.Text    = elemento.Telefono.ToString();
                txtCalleNumero.Text = elemento.CalleNumero.ToString();

                //Obtener el estado y municipio
                daoEstado       = new DaoEstado();
                daoMunicipio    = new DaoMunicipio();
                daoAsentamiento = new DaoAsentamiento();

                elementoMunicipio = daoMunicipio.consultarUno(Convert.ToInt32(elemento.Municipio));

                cmbEstado.SelectedIndex = elementoMunicipio.Estado;

                cargarMunicipios(Convert.ToInt32(elementoMunicipio.Estado), "", "Editar");

                cmbMunicipio.SelectedItem = elementoMunicipio.Nombre;

                //Obtener el asentamiento
                cargarAsentamientos(elementoMunicipio.Nombre);

                elementoAsentamiento         = daoAsentamiento.consultarUno(elemento.Asentamiento);
                cmbAsentamiento.SelectedItem = elementoAsentamiento.Nombre;
            }

            Conexion.cerrarConexion();
        }
        private void inicializar(String operacion)
        {
            InitializeComponent();
            this.operacion = operacion;
            lblTitulo.Text = operacion + " estado";
            configurarVisibilidadYEdicion();

            //Traer último est_clave cuando es Agregar
            if (operacion == "Agregar")
            {
                daoEstado     = new DaoEstado();
                this.id       = daoEstado.consultarUltimo();
                txtClave.Text = id.ToString();
            }
        }
        private void cargarEstados()
        {
            listaEstados = new List <Estado>();
            DaoEstado     daoEstado = new DaoEstado();
            List <Estado> list      = new List <Estado>();

            Conexion.abrirConexion();
            list = daoEstado.consultarTodos();
            Conexion.cerrarConexion();

            foreach (var item in list)
            {
                Estado objEstado = new Estado();
                objEstado.Clave  = item.Clave;
                objEstado.Nombre = item.Nombre;
                listaEstados.Add(objEstado);
            }
        }
        public void llenarControles()
        {
            daoEstado = new DaoEstado();

            Conexion.abrirConexion();

            elemento = daoEstado.consultarUno(id);

            Conexion.cerrarConexion();

            if (elemento != null)
            {
                txtClave.Text  = elemento.Clave.ToString();
                txtNombre.Text = elemento.Nombre.ToString();
            }
            else
            {
                MessageBox.Show("¡Ha ocurrido un error al cargar la información!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
        public void llenarControles()
        {
            daoAsentamiento = new DaoAsentamiento();
            Municipio elementoMunicipio = new Municipio();

            Conexion.abrirConexion();

            elemento = daoAsentamiento.consultarUno(id);

            Conexion.cerrarConexion();

            if (elemento != null)
            {
                txtClave.Text  = elemento.Clave.ToString();
                txtNombre.Text = elemento.Nombre;
                txtCiudad.Text = elemento.Ciudad;
                txtZona.Text   = elemento.Zona;
                txtCP.Text     = elemento.CP;
                txtTipo.Text   = elemento.Tipo;

                //Obtener el estado y municipio
                daoEstado       = new DaoEstado();
                daoMunicipio    = new DaoMunicipio();
                daoAsentamiento = new DaoAsentamiento();

                elementoMunicipio = daoMunicipio.consultarUno(Convert.ToInt32(elemento.Municipio));

                cmbEstado.SelectedIndex = elementoMunicipio.Estado;

                cargarMunicipios(Convert.ToInt32(elementoMunicipio.Estado), "", "Editar");

                cmbMunicipio.SelectedItem = elementoMunicipio.Nombre;
            }
            else
            {
                MessageBox.Show("¡Ha ocurrido un error al cargar la información!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
        }
        public void algoritmoBusqueda(String busqueda, int pagina)
        {
            daoEstado = new DaoEstado();
            List <Estado> listaPaginacion = new List <Estado>();

            try
            {
                Conexion.abrirConexion();
                listaElementos = daoEstado.buscar(busqueda);
                Conexion.cerrarConexion();

                //Si la consulta tuvo más de un registro, se hace la paginación
                double totalPaginacion = Convert.ToDouble(listaElementos.Count) / 10.0;

                int i       = (((pagina) - 1) * (10)) + 1;
                int f       = 0;
                int paginaS = pagina + 1;

                totalPaginacion = totalPaginacion + 1;
                String[] auxiliar = totalPaginacion.ToString().Split('.');
                lblTotalPaginas.Text = auxiliar[0];

                if (banderaUltimaPagina)
                {
                    f = listaElementos.Count;
                    banderaUltimaPagina = false;
                }
                else if (listaElementos.Count < 10)
                {
                    f = listaElementos.Count;
                    banderaUltimaPagina = false;
                }
                else
                {
                    f = ((paginaS) - 1) * 10;
                }

                totalPaginacion = totalPaginacion - 1;

                for (int j = i - 1; j < f; j++)
                {
                    Estado obj = new Estado();
                    obj.Clave  = listaElementos[j].Clave;
                    obj.Nombre = listaElementos[j].Nombre;
                    listaPaginacion.Add(obj);
                }

                tbEstados.Columns.Clear();
                tbEstados.Refresh();
                tbEstados.DataSource = listaPaginacion;

                //Total de registros totales en la tabla
                lblTotalRegistros.Text  = listaElementos.Count.ToString();
                lblRegistrosActual.Text = listaPaginacion.Count.ToString();

                //Obtener el total de páginas
                if (totalPaginacion == 0)
                {
                    int aux = 1;
                    lblTotalPaginas.Text = aux.ToString();
                }
                else if (totalPaginacion.ToString().Contains('.'))
                {
                    totalPaginacion = totalPaginacion + 1;
                    String[] auxiliar2 = totalPaginacion.ToString().Split('.');
                    lblTotalPaginas.Text = auxiliar2[0];
                }
                else
                {
                    lblTotalPaginas.Text = totalPaginacion.ToString();
                }

                lblPaginasActual.Text = pagina.ToString();

                lblTotalRegistros.Text = listaElementos.Count.ToString();

                if (listaElementos.Count == 0)
                {
                    lblRegistrosActual.Text = "0";
                    lblTotalRegistros.Text  = "0";
                    lblPaginasActual.Text   = "0";
                    lblTotalPaginas.Text    = "0";
                }
                tbEstados.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                tbEstados.Columns[0].Visible  = false;
            }catch (Exception e) {
            }
        }