示例#1
0
        private void button2_Click(object sender, EventArgs e)
        {
            Inv_out salida = new Inv_out(
                Convert.ToInt16(folio),
                dtFecha.Text + " 00:00:00",
                "",
                Convert.ToDouble(txtTotal.Text),
                "A"
                );

            Det_salidas det      = new Det_salidas();
            Kardex      kardex   = new Kardex();
            Product     producto = new Product();
            Afecta_inv  afecta   = new Afecta_inv();
            int         nuevo    = 0;

            det.Id = 0;

            if (folio == "0")
            {
                using (salida)
                {
                    salida.createInv_out();
                    List <Inv_out> result = salida.getListabyAll(dtFecha.Text + " 00:00:00", Convert.ToDouble(txtTotal.Text));
                    folio = result[0].Id.ToString();

                    det.Id_salida = Convert.ToInt16(folio);
                    foreach (DataGridViewRow row in dtProductos.Rows)
                    {
                        det.Cantidad    = Convert.ToInt16(row.Cells["cantidad"].Value.ToString());
                        det.Id_producto = Convert.ToInt16(row.Cells["id_producto"].Value.ToString());
                        det.P_u         = Convert.ToDouble(row.Cells["p_u"].Value.ToString());
                        det.Total       = Convert.ToDouble(row.Cells["total"].Value.ToString());
                        using (det)
                        {
                            det.craeteDet_salida();
                            using (producto)
                            {
                                List <Product> prod = producto.getProductById(Convert.ToInt16(row.Cells["id_producto"].Value.ToString()));
                                nuevo = Convert.ToInt16(row.Cells["cantidad"].Value.ToString());
                                while (prod[0].Parent != "0")
                                {
                                    nuevo = nuevo * Convert.ToInt16(prod[0].C_unidad);
                                    prod  = producto.getProductById(Convert.ToInt16(prod[0].Parent));
                                }
                                kardex.Fecha        = Convert.ToDateTime(dtFecha.Text).ToString();
                                kardex.Id_producto  = prod[0].Id;
                                kardex.Tipo         = "S";
                                kardex.Cantidad     = nuevo;
                                kardex.Antes        = prod[0].Existencia;
                                kardex.Id           = 0;
                                kardex.Id_documento = Convert.ToInt16(folio);
                                using (kardex)
                                {
                                    kardex.CreateKardex();
                                    List <Kardex> numeracion = kardex.getidKardex(prod[0].Id, Convert.ToInt16(folio), "S");
                                    using (afecta)
                                    {
                                        afecta.Disminuye(numeracion[0].Id);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if (Entrada == "")
            {
                Entradas formInterface = this.Owner as Entradas;
                formInterface.carga();
            }

            this.Close();
        }