private void Transfer_forms_Load(object sender, EventArgs e)
        {
            this.txtFolios.AutoSize            = true;
            txtCodigo.AutoCompleteCustomSource = cargadatos();
            txtCodigo.AutoCompleteMode         = AutoCompleteMode.Suggest;
            txtCodigo.AutoCompleteSource       = AutoCompleteSource.CustomSource;


            //lbFecha.Visible = false;
            DataTable table = new DataTable();
            DataRow   row;

            table.Columns.Add("Text", typeof(string));
            table.Columns.Add("Value", typeof(string));
            row          = table.NewRow();
            row["Text"]  = "";
            row["Value"] = "";
            table.Rows.Add(row);

            Offices oficinas = new Offices();

            using (oficinas)
            {
                List <Offices> oficina = oficinas.GetOffices();
                foreach (Offices ofi in oficina)
                {
                    row          = table.NewRow();
                    row["Text"]  = ofi.Name;
                    row["Value"] = ofi.Id;
                    table.Rows.Add(row);
                }
            }

            cbOficinas.BindingContext = new BindingContext();
            cbOficinas.DataSource     = table;
            cbOficinas.DisplayMember  = "Text";
            cbOficinas.ValueMember    = "Value";
            cbOficinas.BindingContext = new BindingContext();

            if (id_transfer != 0)
            {
                Transfers transferencias = new Transfers();
                using (transferencias)
                {
                    List <Transfers> lista = transferencias.getTransferbyid(id_transfer);

                    Det_transfers detalles  = new Det_transfers();
                    Product       productos = new Product();
                    if (lista.Count > 0)
                    {
                        txtFolios.Text           = lista[0].Folio.ToString();
                        lbFecha.Text             = "Fecha: " + lista[0].Fecha.ToString();
                        cbOficinas.SelectedValue = lista[0].Sucursal;
                        using (detalles)
                        {
                            List <Det_transfers> detallado = detalles.getDet_trans(id_transfer);
                            if (detallado.Count > 0)
                            {
                                foreach (Det_transfers item in detallado)
                                {
                                    using (productos)
                                    {
                                        List <Product> producto = productos.getProductById(item.Id_producto);
                                        double         importe  = item.Precio * item.Cantidad;
                                        dtProductos.Rows.Add(item.Id_producto, item.Cantidad, producto[0].Code1, producto[0].Description, item.Precio, importe);
                                    }
                                }
                                calcula();
                                nuCantidad.Enabled     = false;
                                txtCodigo.Enabled      = false;
                                txtDescripcion.Enabled = false;
                                txtPrecio.Enabled      = false;
                            }
                        }
                    }
                }
            }
            else
            {
                Folios folio = new Folios();
                using (folio)
                {
                    List <Folios> transfer = folio.getFolios();
                    txtFolios.Text = transfer[0].Transferencia.ToString();
                }
            }
        }
        private void crea_xml()
        {
            string        ruta          = "";
            Configuration configuracion = new Configuration();

            using (configuracion)
            {
                List <Configuration> config = configuracion.getConfiguration();
                ruta = config[0].Ruta_factura;
            }
            Transfers transferencia = new Transfers();

            using (transferencia)
            {
                List <Transfers> lista = transferencia.getTransferbyfolio(Convert.ToInt16(txtFolios.Text), "E");

                XmlTextWriter writer;
                writer            = new XmlTextWriter(ruta + "transferencia-" + txtFolios.Text + ".xml", Encoding.UTF8);
                writer.Formatting = Formatting.Indented;
                writer.WriteStartDocument();
                writer.WriteStartElement("transferencia");
                //nodo de folio
                writer.WriteElementString("Folio", lista[0].Folio.ToString());
                //nodo de fecha
                writer.WriteElementString("Fecha", lista[0].Fecha.ToString());
                //nodo de Emisor
                Configuration configu = new Configuration();
                using (configu)
                {
                    List <Configuration> config = configu.getConfiguration();
                    writer.WriteElementString("Emisor", config[0].RFC);
                }

                //nodo Receptor
                Offices oficinas = new Offices();
                using (oficinas)
                {
                    List <Offices> oficina = oficinas.GetOfficesbyid(Convert.ToInt16(lista[0].Sucursal));
                    writer.WriteElementString("Receptor", oficina[0].Rfc);
                }


                //nodo monto
                writer.WriteElementString("Monto", lista[0].Total.ToString());
                //nodo de productos
                writer.WriteStartElement("Productos");

                // produtos uno a uno
                Det_transfers detalles  = new Det_transfers();
                Product       productos = new Product();
                using (detalles)
                {
                    List <Det_transfers> lista_detalles = detalles.getDet_trans(Convert.ToInt16(lista[0].Folio));
                    foreach (Det_transfers item in lista_detalles)
                    {
                        ;
                        using (productos)
                        {
                            List <Product> producto = productos.getProductById(Convert.ToInt16(item.Id));
                            writer.WriteStartElement("Producto");
                            writer.WriteElementString("Cantidad", Convert.ToDouble(item.Cantidad).ToString());
                            writer.WriteElementString("Codigo1", producto[0].Code1);
                            writer.WriteElementString("Codigo2", producto[0].Code2);
                            writer.WriteElementString("Codigo3", producto[0].Code3);
                            writer.WriteElementString("Codigo4", producto[0].Code4);
                            writer.WriteElementString("Codigo5", producto[0].Code5);
                            writer.WriteElementString("Descripcion", producto[0].Description);
                            writer.WriteElementString("Pu", Convert.ToDouble(item.Precio).ToString());
                            writer.WriteEndElement();
                        }
                    }
                }

                //fin nodo productos
                writer.WriteEndElement();
                //fin
                writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Flush();
                writer.Close();
            }
        }