private void button1_Click(object sender, EventArgs e)
        {
            string s = "";

            for (int x = 0; x < checkedListBox1.CheckedItems.Count; x++)
            {
                s = s + checkedListBox1.CheckedItems[x].ToString() + ",";
            }

            Models.Providers prov = new Models.Providers(
                Convert.ToInt16(id),
                txtNombre.Text,
                txtRFC.Text,
                txtCalle.Text,
                txtNumExt.Text,
                txtNumInt.Text,
                txtColonia.Text,
                txtCp.Text,
                txtEstado.Text,
                txtMunicipio.Text,
                txtTelefono.Text,
                txtNotas.Text,
                txtEmail.Text,
                s,
                cbTiempo.Text,
                txtComercial.Text
                );
            using (prov)
            {
                if (id == "0")
                {
                    prov.createProvider();
                }
                else
                {
                    prov.saveProvider();
                    Models.prov_prod costos = new Models.prov_prod();
                    using (costos)
                    {
                        costos.Id_proveedor = Convert.ToInt32(id);
                        costos.delete_all();

                        foreach (DataGridViewRow row in dtProductos.Rows)
                        {
                            if (row.Cells["cbproducto"].Value is null)
                            {
                            }
                            else
                            {
                                if (row.Cells["id_registro"].Value is null)
                                {
                                    DataGridViewComboBoxCell combo = row.Cells["cbproducto"] as DataGridViewComboBoxCell;
                                    costos.Id_producto  = Convert.ToInt32(combo.Value.ToString());
                                    costos.Costo        = 0;
                                    costos.Cantidad     = 0;
                                    costos.Id_proveedor = Convert.ToInt32(id);
                                    costos.create();
                                }
                            }
                        }
                    }
                }
            }

            this.Close();
        }
Beispiel #2
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();
            }
        }