예제 #1
0
 private void txtCodigo_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter)
     {
         if (txtCodigo.Text != "")
         {
             Models.Product producto = new Models.Product();
             using (producto)
             {
                 List <Models.Product> result = producto.getProductByCodeAbsolute(txtCodigo.Text);
                 foreach (Models.Product item in result)
                 {
                     id                  = item.Id.ToString();
                     txtCodigo.Text      = item.Code1;
                     txtDescripcion.Text = item.Description;
                     txtpu.Text          = item.Cost.ToString();
                 }
             }
             txtpu.Focus();
         }
         else
         {
             txtdescuento.Focus();
         }
     }
     if (e.KeyCode == Keys.F2)
     {
         Buscar_producto busca = new Buscar_producto();
         busca.ShowDialog();
         Models.Product producto = new Models.Product();
         using (producto)
         {
             List <Models.Product> result = producto.getProductById(intercambios.Id_producto);
             foreach (Models.Product item in result)
             {
                 id                  = item.Id.ToString();
                 txtCodigo.Text      = item.Code1;
                 txtDescripcion.Text = item.Description;
                 txtpu.Text          = item.Cost.ToString();
             }
         }
         txtpu.Focus();
     }
     if (e.KeyCode == Keys.Enter)
     {
         if (txtCodigo.Text != "" && txtDescripcion.Text != "")
         {
             button1.Focus();
         }
         if (txtDescripcion.Text == "")
         {
             txtDescripcion.Focus();
         }
         else if (txtCodigo.Text == "")
         {
             txtCodigo.Focus();
         }
     }
 }
예제 #2
0
 private void txtDescripcion_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.F2)
     {
         Buscar_producto busca = new Buscar_producto();
         busca.ShowDialog();
         if (intercambios.Id_producto != 0)
         {
             Models.Product productos = new Models.Product();
             using (productos)
             {
                 List <Models.Product> producto = productos.getProductById(intercambios.Id_producto);
                 if (producto.Count > 0)
                 {
                     txtCodigo.Text      = producto[0].Code1;
                     txtDescripcion.Text = producto[0].Description;
                     txtPu.Text          = string.Format("{0:#,0.00}", producto[0].Cost);
                     txtDescripcion.Focus();
                     Id_producto = producto[0].Id;
                 }
             }
         }
     }
     if (e.KeyCode == Keys.Enter)
     {
         if (txtDescripcion.Text != "" && txtCodigo.Text != "" && txtPu.Text != "")
         {
             agregar();
         }
         else
         {
             Models.Product productos = new Models.Product();
             using (productos)
             {
                 List <Models.Product> producto = productos.getProductByDescription(txtDescripcion.Text);
                 if (producto.Count > 0)
                 {
                     txtCodigo.Text = producto[0].Code1;
                     txtPu.Text     = string.Format("{0:#,0.00}", producto[0].Cost);
                     txtDescripcion.Focus();
                     Id_producto = producto[0].Id;
                 }
             }
         }
     }
 }
예제 #3
0
        private void button4_Click(object sender, EventArgs e)
        {
            dtProductos.Rows.Clear();
            OpenFileDialog open = new OpenFileDialog();

            open.Filter = "txt files (*.xml)|*.xml";
            if (open.ShowDialog() == DialogResult.OK && open.ToString() != " ")
            {
                XmlDocument CFDI = new XmlDocument();
                CFDI.Load(@open.FileName);
                XmlNode nodo          = CFDI.GetElementsByTagName("cfdi:Comprobante").Item(0);
                string  valorAtributo = nodo.Attributes.GetNamedItem("Fecha").Value;
                dtFechaDoc.Value = Convert.ToDateTime(valorAtributo);
                txtFolio.Text    = nodo.Attributes.GetNamedItem("Folio").Value;
                if (nodo.Attributes.GetNamedItem("Descuento") != null)
                {
                    txtdescuento.Text = nodo.Attributes.GetNamedItem("Descuento").Value.ToString();
                }
                else
                {
                    txtdescuento.Text = "0.00";
                }

                XmlNode          emisor    = CFDI.GetElementsByTagName("cfdi:Emisor").Item(0);
                string           RFC       = emisor.Attributes.GetNamedItem("Rfc").Value;
                Models.Product   prod      = new Models.Product();
                string           clave     = "";
                double           sumatoria = 0;
                Models.Providers proveedor = new Models.Providers();
                using (proveedor)
                {
                    List <Models.Providers> resultado = proveedor.getProviderbyRFC(RFC);
                    if (resultado.Count > 0)
                    {
                        cbProveedor.SelectedValue = resultado[0].Id;
                        txtNumero.Text            = resultado[0].Id.ToString();
                    }
                    else
                    {
                        proveedor.Id   = 0;
                        proveedor.RFC  = emisor.Attributes.GetNamedItem("Rfc").Value;
                        proveedor.Name = emisor.Attributes.GetNamedItem("Nombre").Value;
                        proveedor.createProvider();
                        resultado = proveedor.getProviderbyRFC(RFC);
                        carga_proveedor();
                        cbProveedor.SelectedValue = resultado[0].Id;
                        txtNumero.Text            = resultado[0].Id.ToString();
                    }
                }
                foreach (XmlNode conceptos in CFDI.GetElementsByTagName("cfdi:Conceptos").Item(0).ChildNodes)
                {
                    clave = conceptos.Attributes.GetNamedItem("NoIdentificacion").Value;
                    using (prod)
                    {
                        List <Models.Product> bucador = prod.getProductByigualCode(clave);
                        if (bucador.Count > 0)
                        {
                            sumatoria = Convert.ToDouble(conceptos.Attributes.GetNamedItem("Cantidad").Value) * Convert.ToDouble(conceptos.Attributes.GetNamedItem("ValorUnitario").Value);
                            dtProductos.Rows.Add(bucador[0].Id, bucador[0].Code1, conceptos.Attributes.GetNamedItem("Cantidad").Value, bucador[0].Description, conceptos.Attributes.GetNamedItem("ValorUnitario").Value, sumatoria, "", "", bucador[0].Buy_tax);
                        }
                        else
                        {
                            DialogResult is_new = MessageBox.Show("El producto " + conceptos.Attributes.GetNamedItem("Descripcion").Value + " no fue encontrado, ¿Es nuevo?", "Producto no encontrado", MessageBoxButtons.YesNo);
                            if (is_new == DialogResult.Yes)
                            {
                                Forms.Producto.Codigo = "";
                                Forms.Producto Producto = new Forms.Producto();
                                Producto.txtCodigo1.Text     = clave;
                                Producto.txtDescripcion.Text = conceptos.Attributes.GetNamedItem("Descripcion").Value;
                                Producto.txtCosto.Text       = conceptos.Attributes.GetNamedItem("ValorUnitario").Value;
                                Producto.txtUnidadSat.Text   = conceptos.Attributes.GetNamedItem("ClaveUnidad").Value;
                                Producto.txtSAT.Text         = conceptos.Attributes.GetNamedItem("ClaveProdServ").Value;
                                Producto.Owner = this;
                                Producto.ShowDialog();
                                bucador   = prod.getProductByigualCode(clave);
                                sumatoria = Convert.ToDouble(conceptos.Attributes.GetNamedItem("Cantidad").Value) * Convert.ToDouble(conceptos.Attributes.GetNamedItem("ValorUnitario").Value);
                                dtProductos.Rows.Add(bucador[0].Id, bucador[0].Code1, conceptos.Attributes.GetNamedItem("Cantidad").Value, bucador[0].Description, conceptos.Attributes.GetNamedItem("ValorUnitario").Value, sumatoria, "", "", bucador[0].Buy_tax);
                            }
                            else if (is_new == DialogResult.No)
                            {
                                Buscar_producto buscar = new Buscar_producto();
                                buscar.ShowDialog();
                                if (intercambios.Id_producto != 0)
                                {
                                    bucador = prod.getProductById(Convert.ToInt32(intercambios.Id_producto));

                                    bool encontrado = false;
                                    if (bucador[0].Code2.Trim() == "" && encontrado == false)
                                    {
                                        prod.Id    = Convert.ToInt32(intercambios.Id_producto);
                                        prod.Code2 = clave;
                                        prod.update_code2();
                                        encontrado = true;
                                    }

                                    if (bucador[0].Code3.Trim() == "" && encontrado == false)
                                    {
                                        prod.Id    = Convert.ToInt32(intercambios.Id_producto);
                                        prod.Code3 = clave;
                                        prod.update_code3();
                                        encontrado = true;
                                    }
                                    if (bucador[0].Code4.Trim() == "" && encontrado == false)
                                    {
                                        prod.Id    = Convert.ToInt32(intercambios.Id_producto);
                                        prod.Code4 = clave;
                                        prod.update_code4();
                                        encontrado = true;
                                    }

                                    if (bucador[0].Code5.Trim() == "" && encontrado == false)
                                    {
                                        prod.Id    = Convert.ToInt32(intercambios.Id_producto);
                                        prod.Code5 = clave;
                                        prod.update_code5();
                                        encontrado = true;
                                    }
                                    sumatoria = Convert.ToDouble(conceptos.Attributes.GetNamedItem("Cantidad").Value) * Convert.ToDouble(conceptos.Attributes.GetNamedItem("ValorUnitario").Value);
                                    dtProductos.Rows.Add(bucador[0].Id, bucador[0].Code1, conceptos.Attributes.GetNamedItem("Cantidad").Value, bucador[0].Description, conceptos.Attributes.GetNamedItem("ValorUnitario").Value, sumatoria, "", "", bucador[0].Buy_tax);
                                }
                                else
                                {
                                    MessageBox.Show("No se agregara el producto", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                            }
                        }
                    }
                }
                calcula();
            }
        }