public static int updateEmpresa(Configuracion pData)
        {
            int retorno = 0;
            MySqlConnection conexion = Connection.ObtenerConexion();

            MySqlCommand cmd = new MySqlCommand(string.Format(" UPDATE cfg_configuracion  " +
            " SET " +
             " nombre = '{0}'  " +
             " ,rfc = '{1}'  " +
             " ,calle = '{2}'  " +
             " ,n_ext = '{3}'  " +
             " ,n_int = '{4}'  " +
             " ,colonia = '{5}'  " +
             " ,cp = '{6}'  " +
             " ,localidad = '{7}'  " +
             " ,municipio = '{8}'  " +
             " ,estado = '{9}'  " +
             " ,telefono = '{10}'  " +
             " ,email = '{11}'  " +
             " ,ret_iva = {12}  " +
             " ,ret_isr = {13}  " +
             " ,cot_folio = {14}  " +
             " ,cot_serie = '{15}'  " +
             " ,ventas_folio = 16  " +
             " ,ventas_serie = '{17}'  " +
            " WHERE " +
              " id_cfg = {18}  " ,
              pData.nombre,
             pData.rfc,
             pData.calle,
             pData.n_ext,
             pData.n_int,
             pData.colonia,
             pData.cp,
             pData.localidad,
             pData.municipio,
             pData.estado,
             pData.telefono,
             pData.email,
             pData.ret_iva,
             pData.ret_isr,
             pData.cot_folio,
             pData.cot_serie,
             pData.ventas_folio,
             pData.ventas_serie,
             pData.id_cfg
            ), conexion);
            retorno = cmd.ExecuteNonQuery();
            conexion.Close();
            return retorno;
        }
        public static List<Configuracion> Buscar()
        {
            List<Configuracion> _lista = new List<Configuracion>();
            MySqlConnection conexion = Connection.ObtenerConexion();
            MySqlCommand cmd = new MySqlCommand(String.Format(
                "SELECT  id_cfg, nombre,  rfc  FROM cfg"), conexion);

            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                Configuracion pData = new Configuracion();
                pData.id_cfg = reader.GetInt32(0);
                pData.nombre = reader.GetString(1);
                pData.rfc = reader.GetString(2);

                _lista.Add(pData);
            }

            conexion.Close();
            return _lista;
        }
        public static int saveFacturacion(Configuracion pData)
        {
            int retorno = 0;
            MySqlConnection conexion = Connection.ObtenerConexion();

            MySqlCommand cmd = new MySqlCommand(string.Format(" UPDATE cfg_configuracion  " +
            " SET " +
              "regimen = '{0}'"
             +",lugar_expedicion = '{1}'"
             +",factura_serie = '{2}'"
             +",factura_folio = {3}"
             +",path_cer = '{4}'"
             +",path_key = '{5}'"
             +",sello_pass = '******'"
             +",cadena_cer ={7} "
             +",num_cer = '{8}'"
             +",timbre_pass = ''{9},"
             +",timbre_user = '******'"+
            " WHERE " +
              " id_cfg = {11}  ",
                pData.regimen,
                pData.lugar_expedicion,
                pData.factura_serie,
                pData.factura_folio,
                pData.path_cer,
                pData.path_key,
                pData.sello_pass,
                pData.cadena_cer,
                pData.num_cer,
                pData.timbre_pass,
                pData.timbre_user,
             pData.id_cfg
            ), conexion);
            retorno = cmd.ExecuteNonQuery();
            conexion.Close();

            return retorno;
        }
        public static int Agregar(Configuracion pData)
        {
            int retorno = 0;
            MySqlConnection conexion = Connection.ObtenerConexion();

            MySqlCommand cmd = new MySqlCommand(string.Format(
               "INSERT INTO cfg (regimen, nombre, rfc, calle, n_ext, n_int, colonia, cp, localidad, municipio, estado, telefono, email,  ret_iva, ret_isr, lugar_expedicion, factura_serie, factura_folio, tipo_logo, path_cer, path_key, sello_pass, cadena_cer, num_cer, logo_cuadrado, logo_banner, cot_folio, cot_serie, ventas_folio, ventas_serie, timbre_user, timbre_pass) " +
             "VALUES('{0}'" +
                 ",'{1}'" +
                 ",'{2}'" +
                 ",'{3}'" +
                 ",'{4}'" +
                 ",'{5}'" +
                 ",'{6}'" +
                 ",'{7}'" +
                 ",'{8}'" +
                 ",'{9}'" +
                 ",'{10}'" +
                 ",'{11}'" +
                 ",'{12}'" +
                 ",'{13}'" +
                 ",'{14}'" +
                 ",'{15}'" +
                 ",'{16}'" +
                 ",'{17}'" +
                 ",'{18}'" +
                 ",'{19}'" +
                 ",'{20}'" +
                 ",'{21}'" +
                 ",'{22}'" +
                 ",'{23}'" +
                 ",'{24}'" +
                 ",'{25}'" +
                 ",'{26}'" +
                 ",'{27}'" +
                 ",'{28}'" +
                 ",'{29}'" +
                 ",'{30}'" +
                 ",'{31}'" +
                ")"
                ,
            pData.regimen,
            pData.nombre,
            pData.rfc,
            pData.calle,
            pData.n_ext,
            pData.n_int,
            pData.colonia,
            pData.cp,
            pData.localidad,
            pData.municipio,
            pData.estado,
            pData.telefono,
            pData.email,
            pData.ret_iva,
            pData.ret_isr,
            pData.lugar_expedicion,
            pData.factura_serie,
            pData.factura_folio,
            pData.tipo_logo,
            pData.path_cer,
            pData.path_key,
            pData.sello_pass,
            pData.cadena_cer,
            pData.num_cer,
            pData.logo_cuadrado,
            pData.logo_banner,
            pData.cot_folio,
            pData.cot_serie,
            pData.ventas_folio,
            pData.timbre_user,
            pData.timbre_pass
            ), conexion);
            retorno = cmd.ExecuteNonQuery();
            conexion.Close();
            return retorno;
        }
        //
        public static Configuracion Obtener(int pId)
        {
            MySqlConnection conexion = Connection.ObtenerConexion();
            Configuracion pData = new Configuracion();

            MySqlCommand cmd = new MySqlCommand(String.Format("select regimen, nombre, rfc, calle, n_ext, n_int, colonia, cp, localidad, municipio, estado, telefono, email, ret_iva, ret_isr, lugar_expedicion, factura_serie, factura_folio, tipo_logo, path_cer, path_key, sello_pass, cadena_cer, num_cer, logo_cuadrado, logo_banner, cot_folio, cot_serie, ventas_folio, ventas_serie,timbre_user, timbre_pass FROM cfg_configuracion where id_cfg = {0} ", pId), conexion);
            MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                pData.regimen = reader.GetString(0);
                pData.nombre = reader.GetString(1);
                pData.rfc = reader.GetString(2);
                pData.calle = reader.GetString(3);
                pData.n_ext = reader.GetString(4);
                pData.n_int = reader.GetString(5);
                pData.colonia = reader.GetString(6);
                pData.cp = reader.GetString(7);
                pData.localidad = reader.GetString(8);
                pData.municipio = reader.GetString(9);
                pData.estado = reader.GetString(10);
                pData.telefono = reader.GetString(11);
                pData.email = reader.GetString(12);
                pData.ret_iva = reader.GetDecimal(13);
                pData.ret_isr = reader.GetDecimal(14);
                pData.lugar_expedicion = reader.GetString(15);
                pData.factura_serie = reader.GetString(16);
                pData.factura_folio = reader.GetInt32(17);
                pData.tipo_logo = reader.GetInt32(18);
                pData.path_cer = reader.GetString(19);
                pData.path_key = reader.GetString(20);
                pData.sello_pass = reader.GetString(21);
                pData.cadena_cer = reader.GetString(22);
                pData.num_cer = reader.GetString(23);
                pData.logo_cuadrado = reader.GetString(24);
                pData.logo_banner = reader.GetString(25);
                pData.cot_folio = reader.GetInt32(26);
                pData.cot_serie = reader.GetString(27);
                pData.ventas_folio = reader.GetInt32(28);
                pData.ventas_serie = reader.GetString(29);
                pData.timbre_user = reader.GetString(30);
                pData.timbre_pass = reader.GetString(31);
            }

            conexion.Close();
            return pData;
        }
        private void saveFacturacion()
        {
            Configuracion pData = new Configuracion();
            pData.lugar_expedicion = txtExpedicion.Text;
            pData.regimen = txtRegimen.Text;
            pData.path_cer = txtCertificado.Text;
            pData.path_key = txtLlave.Text;
            pData.sello_pass = selloPass.Text;
            pData.num_cer = txtNumeroCertificado.Text;
            pData.cadena_cer = txtCadenaCertificado.Text;
            pData.factura_serie = factSerie.Text;
            pData.factura_folio = Convert.ToInt32(factFolio.Text);
            pData.timbre_user = timbreUser.Text;
            pData.timbre_pass = timbrePass.Text;
            pData.id_cfg = this.IdEmpresa;

            ConfiguracionDal.saveFacturacion(pData);
        }
        private void saveEmpresa()
        {
            Configuracion pData = new Configuracion();
            pData.nombre = txtRazonSocial.Text;
            pData.rfc = txtRfc.Text;
            pData.calle = txtCalle.Text;
            pData.n_ext = txtNumExt.Text;
            pData.n_int = txtNumInt.Text;
            pData.colonia = txtColonia.Text;
            pData.municipio = txtMunicipio.Text;
            pData.localidad = txtPoblacion.Text;
            pData.estado = txtEstado.Text;
            pData.cp = txtCp.Text;
            pData.email = txtMail.Text;
            pData.telefono = txtTelefono.Text;

            pData.ret_isr = Convert.ToDecimal(txtRetIsr.Text);
            pData.ret_iva = Convert.ToDecimal(txtRetIva.Text);

            pData.cot_serie = cotSerie.Text;
            pData.cot_folio = Convert.ToInt32(cotFolio.Text);

            pData.ventas_serie = ventSerie.Text;
            pData.ventas_folio = Convert.ToInt32(ventFolio.Text);
            pData.id_cfg = this.IdEmpresa;

            int resultado = ConfiguracionDal.updateEmpresa(pData);
            if (resultado > 0)
            {
                MessageBox.Show("Configuración Actualizado Exitosamente", "Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Ocurrio un Error al Actualizar la Configuración", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }