/// <summary>
        /// Lee la información fiscal cuyo Id sea el que coincide con la empresa
        /// </summary>
        /// <param name="pId_customer">Id de la empresa</param>
        /// <returns>regresa un tipo de dato class_Fiscal</returns>
        public static class_Fiscal LeerFiscal(int pId_customer)
        {
            MySqlCommand    select  = new MySqlCommand(string.Format("select * from  tbl_clt_fiscal where Id_cliente= '{0}'", pId_customer), syscom_dbcon.AbrirConexion());
            MySqlDataReader _lector = select.ExecuteReader();

            if (_lector.Read())
            {
                class_Fiscal cliente = new class_Fiscal();

                cliente.RFC              = _lector.GetString("RFC");
                cliente.Razon_social     = _lector.GetString("Razon_social");
                cliente.Regimen          = _lector.GetString("Regimen");
                cliente.Nombre_comercial = _lector.GetString("Nombre_comercial");
                cliente.Calle            = _lector.GetString("Calle");
                cliente.Numero_ext       = _lector.GetInt32("Numero_ext");
                cliente.Numero_int       = _lector.GetInt32("Numero_int");
                cliente.Colonia          = _lector.GetString("Colonia");
                cliente.Municipio        = _lector.GetString("Municipio");
                cliente.Estado           = _lector.GetString("Estado");
                cliente.CP = _lector.GetString("CP");
                cliente.email_facturacion = _lector.GetString("email_facturacion");

                class_customer clienteBase = syscom_dbcon.LeerCustomer(pId_customer);
                cliente.Id_customer = clienteBase.Id_customer;
                cliente.Nombre      = clienteBase.Nombre;
                cliente.Id_sector   = clienteBase.Id_sector;
                cliente.Profit      = clienteBase.Profit;
                cliente.Fecha_alta  = clienteBase.Fecha_alta;

                return(cliente);
            }

            return(null);
        }
        /// <summary>
        /// Id_customer
        /// Nombre
        /// Id_sector        giro del negocio(retail, etc etc)
        /// Fecha_alta
        /// </summary>
        /// <param name="customer">Se pasa un cliente para poderlo insertar en la tabla</param>
        /// <returns>1 si ha insertado los datos, 0 si ha habido algún error</returns>
        public static int InsertarEmpresa(class_customer customer)
        {
            int          retorno = 0;
            MySqlCommand insert  = new MySqlCommand(string.Format("Insert into tbl_clientes(Nombre, Id_sector, Profit, Fecha_alta) values('{0}','{1}','{2}','{3}')", customer.Nombre, customer.Id_sector, customer.Profit, customer.Fecha_alta), syscom_dbcon.AbrirConexion());

            retorno = insert.ExecuteNonQuery();
            return(retorno);
        }
        private void dataGridCustomer_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int i       = 0;//Iterador de ciclos
            int renglon = e.RowIndex;

            if (renglon < 0)
            {
                return;
            }

            //Codigo para leer e insertar al datagrid de datos fiscales los datos según el cliente seleccionado en el datagrid de clientes
            this.gglobalCustomer = syscom_dbcon.LeerCustomer((int)dataGridCustomer.Rows[renglon].Cells["Id_customer"].Value);

            //llenar datos en datagrid datos fiscales
            class_Fiscal datos_fiscales = syscom_dbcon.LeerFiscal(this.gglobalCustomer.Id_customer);

            if (datos_fiscales != null)
            {
                dataGridFiscal.Rows.Clear();
                dataGridFiscal.Rows.Add(datos_fiscales.RFC, datos_fiscales.Razon_social, datos_fiscales.Regimen, datos_fiscales.Nombre_comercial, datos_fiscales.Calle, datos_fiscales.Numero_ext, datos_fiscales.Numero_int, datos_fiscales.Colonia, datos_fiscales.Municipio, datos_fiscales.Estado, datos_fiscales.CP, datos_fiscales.email_facturacion);
                statusMessage("Datos fiscales de " + this.gglobalCustomer.Nombre + " cargardos", 100);
            }

            //llenar datos en datagrid contactos
            List <class_cliente> Lista_clientes = syscom_dbcon.LeerContactos(this.gglobalCustomer.Id_customer);

            if (Lista_clientes != null)
            {
                dataGridContactos.Rows.Clear();
                while (i < Lista_clientes.Count)
                {
                    dataGridContactos.Rows.Add(Lista_clientes[i].Id_persona, Lista_clientes[i].Nombres, Lista_clientes[i].Apellido_Paterno, Lista_clientes[i].Apellido_Materno, Lista_clientes[i].Puesto, Lista_clientes[i].Correo, Lista_clientes[i].Tel_oficina, Lista_clientes[i].Celular, Lista_clientes[i].Tel_movil1);
                    i++;
                }
            }
            i = 0;

            //llenar datos en datagrid proyectos
            List <Class_proyecto> Lista_proyectos = syscom_dbcon.LeerProyectos(this.gglobalCustomer.Id_customer);

            if (Lista_proyectos != null)
            {
                dataGridProyectos.Rows.Clear();
                while (i < Lista_clientes.Count)
                {
                    dataGridContactos.Rows.Add(Lista_proyectos[i].Id_proyecto, Lista_proyectos[i].Nombre, Lista_proyectos[i].Comentarios, Lista_proyectos[i].FechaAlta, Lista_proyectos[i].Evaluacion, Lista_proyectos[i].Precio, Lista_proyectos[i].Estado_viabilidad);
                    i++;
                }
            }
            i = 0;
        }
        /// <summary>
        /// Metodo para obtener los datos del customer especificando su Id
        /// </summary>
        /// <param name="pId_customer">ID Customer</param>
        /// <returns>Te regresa un class_customer</returns>
        public static class_customer LeerCustomer(int pId_customer)
        {
            MySqlCommand    select  = new MySqlCommand(string.Format("select * from  tbl_clientes where Id_customer= '{0}'", pId_customer), syscom_dbcon.AbrirConexion());
            MySqlDataReader _lector = select.ExecuteReader();

            if (_lector.Read())
            {
                class_customer cliente = new class_customer();
                cliente.Id_customer = _lector.GetInt32("Id_customer");
                cliente.Nombre      = _lector.GetString("Nombre");
                cliente.Id_sector   = _lector.GetInt32("Id_sector");
                cliente.Profit      = _lector.GetInt32("Profit");
                cliente.Fecha_alta  = _lector.GetString("Fecha_alta");
                return(cliente);
            }

            return(null);
        }
        /// <summary>
        /// Metodo para leer la lista de clientes en la base de datos
        /// </summary>
        /// <returns>Regresa una lista con los clientes en caso de existir</returns>
        public static List <class_customer> LeerEmpresas()
        {
            List <class_customer> Lista_clientes = new List <class_customer>();
            MySqlCommand          select         = new MySqlCommand(string.Format("select * from  tbl_clientes"), syscom_dbcon.AbrirConexion());
            MySqlDataReader       _lector        = select.ExecuteReader();

            while (_lector.Read())
            {
                class_customer cliente = new class_customer();
                cliente.Id_customer = _lector.GetInt32("Id_customer");
                cliente.Nombre      = _lector.GetString("Nombre");
                cliente.Id_sector   = _lector.GetInt32("Id_sector");
                cliente.Profit      = _lector.GetInt32("Profit");
                cliente.Fecha_alta  = _lector.GetString("Fecha_alta");
                Lista_clientes.Add(cliente);
            }

            return(Lista_clientes);
        }
        public class_Fiscal(class_customer pCliente, string pRFC = "N/A", string pRazon_social = "N/A", string pRegimen = " ", string pNombre_comercial = " ", string pCalle = " ", int pNumero_ext = 0, int pNumero_int = 0, string pColonia = " ", string pMunicipio = " ", string pEstado = " ", string pCP = " ", string pemail_facturacion = " ")
        {
            this.Id_customer = pCliente.Id_customer;
            this.Nombre      = pCliente.Nombre;
            this.Id_sector   = pCliente.Id_sector;
            this.Fecha_alta  = pCliente.Fecha_alta;
            this.Profit      = pCliente.Profit;

            this.RFC               = pRFC;
            this.Razon_social      = pRazon_social;
            this.Regimen           = pRegimen;
            this.Nombre_comercial  = pNombre_comercial;
            this.Calle             = pCalle;
            this.Numero_ext        = pNumero_ext;
            this.Numero_int        = pNumero_int;
            this.Colonia           = pColonia;
            this.Municipio         = pMunicipio;
            this.Estado            = pEstado;
            this.email_facturacion = pemail_facturacion;
            this.CP = pCP;
        }
        public class_Fiscal(class_customer pCliente)
        {
            this.Id_customer = pCliente.Id_customer;
            this.Nombre      = pCliente.Nombre;
            this.Id_sector   = pCliente.Id_sector;
            this.Fecha_alta  = pCliente.Fecha_alta;
            this.Profit      = pCliente.Profit;

            this.RFC               = "";
            this.Razon_social      = "";
            this.Regimen           = "";
            this.Nombre_comercial  = "";
            this.Calle             = "";
            this.Numero_ext        = -1;
            this.Numero_int        = -1;
            this.Colonia           = "";
            this.Municipio         = "";
            this.Estado            = "";
            this.email_facturacion = "";
            this.CP = "";
        }