示例#1
0
        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();
                }
            }
        }
示例#2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            Transfers transferencia = new Transfers();

            using (transferencia)
            {
                transferencia.Folio        = Convert.ToInt16(txtFolios.Text);
                transferencia.Tipo_trapaso = "E";
                transferencia.Sucursal     = cbOficinas.SelectedValue.ToString();
                transferencia.Subtotal     = Convert.ToDouble(txtSubtotal.Text);
                transferencia.Iva          = 0;
                transferencia.Total        = 0;
                transferencia.Facturado    = Convert.ToInt16(false);
                transferencia.CreateTransfer();
                List <Transfers> ultimo = transferencia.getTransferbyfolio(Convert.ToInt16(txtFolios.Text), "E");

                Det_transfers detalles = new Det_transfers();
                using (detalles)
                {
                    detalles.Folio = Convert.ToInt16(txtFolios.Text);
                    detalles.Tipo  = "E";

                    Product poductos = new Product();
                    foreach (DataGridViewRow row in dtProductos.Rows)
                    {
                        detalles.Cantidad    = Convert.ToDouble(row.Cells["cantidad"].Value.ToString());
                        detalles.Id_producto = Convert.ToInt16(row.Cells["id"].Value.ToString());
                        detalles.Precio      = Convert.ToDouble(row.Cells["p_u"].Value.ToString());
                        detalles.CreateDet();
                        using (poductos)
                        {
                            List <Product> producto = poductos.getProductById(Convert.ToInt16(row.Cells["id"].Value.ToString()));
                            Kardex         kardex   = new Kardex();
                            using (kardex)
                            {
                                kardex.Id_producto  = Convert.ToInt16(row.Cells["id"].Value.ToString());
                                kardex.Tipo         = "T";
                                kardex.Id_documento = ultimo[0].Id;
                                kardex.Cantidad     = Convert.ToDouble(row.Cells["cantidad"].Value.ToString());
                                kardex.Antes        = producto[0].Existencia;
                                kardex.CreateKardex();

                                List <Kardex> ultimo_kardez = kardex.getidKardex(Convert.ToInt16(row.Cells["id"].Value.ToString()), ultimo[0].Id, "T");
                                Afecta_inv    afecta        = new Afecta_inv();
                                using (afecta)
                                {
                                    afecta.Disminuye(ultimo_kardez[0].Id);
                                }
                            }
                        }
                    }
                }
            }


            //crea_xml();



            Folios folio = new Folios();

            using (folio)
            {
                folio.Transferencia = (Convert.ToInt16(txtFolios.Text) + 1);
                folio.savenewTransfer();
            }

            PrinterSettings ps = new PrinterSettings();

            printDocument1.PrintController = new StandardPrintController();
            printDocument1.PrinterSettings = ps;
            Configuration configuracion = new Configuration();

            using (configuracion)
            {
                List <Configuration> config = configuracion.getConfiguration();
                printDocument1.PrinterSettings.PrinterName = config[0].Impresora;
                printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
                printDocument1.Print();
            }
            this.Close();
        }
示例#3
0
        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();
            }
        }
示例#4
0
        private void carga_xml(string archivo)
        {
            XmlDocument xDoc = new XmlDocument();

            xDoc.Load(archivo);
            XmlNodeList transferencia = xDoc.GetElementsByTagName("transferencia");

            string nfolio   = "";
            string fecha    = "";
            string emisor   = "";
            string receptor = "";
            double monto    = 0;

            string nCantidad   = "";
            string codigo1     = "";
            string codigo2     = "";
            string codigo3     = "";
            string codigo4     = "";
            string codigo5     = "";
            string descripcion = "";
            double pu          = 0;

            foreach (XmlElement nodo in transferencia)
            {
                nfolio   = nodo.GetElementsByTagName("Folio")[0].InnerText;
                fecha    = nodo.GetElementsByTagName("Fecha")[0].InnerText;
                emisor   = nodo.GetElementsByTagName("Emisor")[0].InnerText;
                receptor = nodo.GetElementsByTagName("Receptor")[0].InnerText;
                monto    = Convert.ToDouble(nodo.GetElementsByTagName("Monto")[0].InnerText);
            }
            XmlNodeList productos = ((XmlElement)transferencia[0]).GetElementsByTagName("Productos");
            XmlNodeList producto  = ((XmlElement)productos[0]).GetElementsByTagName("Producto");

            foreach (XmlElement any in producto)
            {
                nCantidad   = any.GetElementsByTagName("Cantidad")[0].InnerText;
                codigo1     = any.GetElementsByTagName("Codigo1")[0].InnerText;
                codigo2     = any.GetElementsByTagName("Codigo2")[0].InnerText;
                codigo3     = any.GetElementsByTagName("Codigo3")[0].InnerText;
                codigo4     = any.GetElementsByTagName("Codigo4")[0].InnerText;
                codigo5     = any.GetElementsByTagName("Codigo5")[0].InnerText;
                descripcion = any.GetElementsByTagName("Descripcion")[0].InnerText;
                pu          = Convert.ToDouble(any.GetElementsByTagName("Pu")[0].InnerText);
            }



            Transfers transferencias = new Transfers();

            using (transferencias)
            {
                transferencias.Fecha        = DateTime.ParseExact(fecha, "yyyy-MM-dd HH:mm:ss", null);
                transferencias.Folio        = Convert.ToInt16(nfolio);
                transferencias.Tipo_trapaso = "R";
                Offices oficinas = new Offices();
                using (oficinas)
                {
                    List <Offices> oficina = oficinas.GetOfficesbyrfc(emisor);
                    transferencias.Sucursal = oficina[0].Id.ToString();
                }

                transferencias.Subtotal  = (monto / 1.16);
                transferencias.Iva       = (monto / 1.16) * 0.16;
                transferencias.Total     = monto;
                transferencias.Facturado = Convert.ToInt16(false);
                transferencias.CreateTransfer();
                List <Transfers> ultimo   = transferencias.getTransferbyfolio(Convert.ToInt16(nfolio), "R");
                Det_transfers    detalles = new Det_transfers();

                using (detalles)
                {
                    detalles.Folio = Convert.ToInt16(ultimo[0].Id);
                    detalles.Tipo  = "R";
                    double  antes = 0;
                    Product prod  = new Product();
                    foreach (XmlElement any in producto)
                    {
                        using (prod)
                        {
                            nCantidad   = any.GetElementsByTagName("Cantidad")[0].InnerText;
                            codigo1     = any.GetElementsByTagName("Codigo1")[0].InnerText;
                            codigo2     = any.GetElementsByTagName("Codigo2")[0].InnerText;
                            codigo3     = any.GetElementsByTagName("Codigo3")[0].InnerText;
                            codigo4     = any.GetElementsByTagName("Codigo4")[0].InnerText;
                            codigo5     = any.GetElementsByTagName("Codigo5")[0].InnerText;
                            descripcion = any.GetElementsByTagName("Descripcion")[0].InnerText;
                            pu          = Convert.ToDouble(any.GetElementsByTagName("Pu")[0].InnerText);


                            detalles.Cantidad = Convert.ToInt16(any.GetElementsByTagName("Cantidad")[0].InnerText);

                            string codigo   = "";
                            int    numerico = 1;

                            int id_produto = 0;
                            while (id_produto == 0 || numerico < 6)
                            {
                                codigo = any.GetElementsByTagName("Codigo" + numerico)[0].InnerText;;

                                List <Product> list_producto = prod.getProductByCodeAbsolute(codigo);
                                if (list_producto.Count > 0)
                                {
                                    id_produto = list_producto[0].Id;
                                    antes      = list_producto[0].Existencia;
                                }
                                else
                                {
                                    numerico = numerico + 1;
                                }
                            }
                            if (id_produto == 0)
                            {
                                DialogResult resultado = MessageBox.Show("El producto " + descripcion + ", no se encuentra en la base de datos ¿Desea agregarlo?", "Producto", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                                if (resultado == DialogResult.Yes)
                                {
                                    prod.Code1       = codigo1;
                                    prod.Code2       = codigo2;
                                    prod.Code3       = codigo3;
                                    prod.Code4       = codigo4;
                                    prod.Code5       = codigo5;
                                    prod.Description = descripcion;
                                    prod.Parent      = "0";
                                    prod.Price1      = pu;
                                    prod.createProduct();

                                    List <Product> list_producto = prod.getProductByCodeAbsolute(codigo1);
                                    id_produto = list_producto[0].Id;
                                    antes      = 0;
                                }
                            }

                            detalles.Id_producto = id_produto;
                            detalles.Precio      = pu;
                            detalles.CreateDet();

                            Kardex kardex = new Kardex();
                            using (kardex)
                            {
                                kardex.Id_producto  = id_produto;
                                kardex.Tipo         = "I";
                                kardex.Id_documento = ultimo[0].Id;
                                kardex.Cantidad     = Convert.ToDouble(nCantidad);
                                kardex.Antes        = antes;
                                kardex.CreateKardex();
                                List <Kardex> ultimo_kardez = kardex.getidKardex(id_produto, ultimo[0].Id, "I");



                                Afecta_inv afecta = new Afecta_inv();
                                using (afecta)
                                {
                                    afecta.Agrega(ultimo_kardez[0].Id);
                                }
                            }
                        }
                    }
                }
            }
        }