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

                if (resultado == DialogResult.Yes)
                {
                    Conexion.abrirConexion();
                    daoMunicipio = new DaoMunicipio();

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

                        cargarDatos();
                    }
                    else
                    {
                        MessageBox.Show("¡No se ha podido realizar la operación!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

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

            txtBusqueda.Text = "";
        }
        public void guardar()
        {
            if (esCorrecto())
            {
                //   try
                // {
                Conexion.abrirConexion();
                daoMunicipio = new DaoMunicipio();

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

                    if (daoMunicipio.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 (daoMunicipio.agregar(elemento))
                        {
                            MessageBox.Show("¡El municipio 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 (daoMunicipio.editar(elemento))
                    {
                        MessageBox.Show("¡El municipio 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();
        }
        public void llenarControles()
        {
            daoMunicipio = new DaoMunicipio();
            Conexion.abrirConexion();
            elemento = new Municipio();
            elemento = daoMunicipio.consultarUno(id);
            Conexion.cerrarConexion();

            if (elemento != null)
            {
                txtClave.Text           = elemento.Clave.ToString();
                txtNombre.Text          = elemento.Nombre;
                cmbEstado.SelectedIndex = elemento.Estado;
            }
        }
        private void inicializar(String operacion)
        {
            InitializeComponent();
            this.operacion = operacion;
            configurarVisibilidadYEdicion();
            lblTitulo.Text = operacion + " municipio";

            if (operacion == "Agregar")
            {
                daoMunicipio  = new DaoMunicipio();
                this.id       = daoMunicipio.consultarUltimo();
                txtClave.Text = id.ToString();
            }

            cargarEstados();
        }
        private void cargarAsentamientos(String municipio)
        {
            List <Asentamiento> listaAsentamientos = new List <Asentamiento>();

            if (!municipio.Equals("SELECCIONA UNA OPCIÓN"))
            {
                try
                {
                    Conexion.abrirConexion();

                    daoAsentamiento = new DaoAsentamiento();
                    daoMunicipio    = new DaoMunicipio();

                    //Obtener la clave del municipio
                    int clave = daoMunicipio.consultarUno(municipio);

                    listaAsentamientos = daoAsentamiento.consultarTodosPorAsentamiento(clave);
                    Conexion.cerrarConexion();

                    cmbAsentamiento.Items.Clear();
                    cmbAsentamiento.Refresh();

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

                        foreach (var item in listaAsentamientos)
                        {
                            cmbAsentamiento.Items.Add(item.Nombre);
                        }
                    }
                    else
                    {
                        MessageBox.Show("¡" + municipio + " no tiene asentamientos!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    cmbAsentamiento.SelectedIndex = 0;
                }
                catch (Exception e)
                {
                }
            }
        }
        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();
            }
        }
        private void cargarMunicipios(int clave, String estado, String op)
        {
            if (clave > 0)
            {
                List <Municipio> listaMunicipios = new List <Municipio>();

                try
                {
                    Conexion.abrirConexion();

                    daoMunicipio    = new DaoMunicipio();
                    listaMunicipios = daoMunicipio.consultarTodosPorEstado(clave);
                    Conexion.cerrarConexion();

                    cmbMunicipio.Items.Clear();
                    cmbMunicipio.Refresh();

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

                        foreach (var item in listaMunicipios)
                        {
                            cmbMunicipio.Items.Add(item.Nombre);
                        }
                    }
                    else
                    {
                        MessageBox.Show("¡" + estado + " no tiene municipios!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    cmbMunicipio.SelectedIndex = 0;
                }
                catch (Exception e)
                {
                }
            }
        }
        public void algoritmoBusqueda(String busqueda, int pagina)
        {
            daoMunicipio = new DaoMunicipio();

            List <Object> listaPaginacion = new List <Object>();

            try
            {
                Conexion.abrirConexion();
                listaElementos = daoMunicipio.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;

                String Estado = "";

                for (int j = i - 1; j < f; j++)
                {
                    Municipio obj = new Municipio();

                    obj.Clave  = listaElementos[j].Clave;
                    obj.Nombre = listaElementos[j].Nombre;
                    obj.Estado = listaElementos[j].Estado;

                    foreach (var item in listaEstados)
                    {
                        if (item.Clave == obj.Estado)
                        {
                            Estado = item.Nombre;
                            Object objeto = new { obj.Clave, obj.Nombre, Estado };
                            listaPaginacion.Add(objeto);
                        }

                        Estado = "";
                    }
                }

                tbMunicipios.Columns.Clear();
                tbMunicipios.Refresh();
                tbMunicipios.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";
                }
                tbMunicipios.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                tbMunicipios.Columns[0].Visible  = false;
            }
            catch (Exception e)
            {
            }
        }