예제 #1
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (tNombreProducto.Text != "" || tCodigoProducto.Text != "")
            {
                producto.Clear();
                string       archivo = "inventario.txt";
                FileStream   stream  = new FileStream(archivo, FileMode.Open, FileAccess.Read);
                StreamReader reader  = new StreamReader(stream);
                while (reader.Peek() > -1)
                {
                    Productos pt = new Productos();
                    pt.NombreProducto   = reader.ReadLine();
                    pt.PrecioProducto   = Convert.ToDecimal(reader.ReadLine());
                    pt.CodigoProducto   = reader.ReadLine();
                    pt.CantidadProducto = Convert.ToInt16(reader.ReadLine());
                    producto.Add(pt);
                }
                reader.Close();
                int v = 0;
                for (int i = 0; i < producto.Count; i++)
                {
                    if (producto[i].NombreProducto == tNombreProducto.Text.ToUpper() || producto[i].CodigoProducto == tCodigoProducto.Text)
                    {
                        v++;
                        if (tPrecio.Text != "")
                        {
                            producto[i].PrecioProducto = Convert.ToDecimal(tPrecio.Text);
                        }
                        if (tCantidadProducto.Text != "")
                        {
                            producto[i].CantidadProducto = Convert.ToInt16(tCantidadProducto.Text);
                        }
                    }
                }
                if (v == 0)
                {
                    MessageBox.Show("Producto inexistente");
                }
                else if (v > 0)
                {
                    string       archivo2 = "inventario.txt";
                    FileStream   stream2  = new FileStream(archivo2, FileMode.Open, FileAccess.Write);
                    StreamWriter writer   = new StreamWriter(stream2);
                    for (int x = 0; x < producto.Count; x++)
                    {
                        writer.WriteLine(producto[x].NombreProducto);
                        writer.WriteLine(Convert.ToString(producto[x].PrecioProducto));
                        writer.WriteLine((producto[x].CodigoProducto));
                        writer.WriteLine(Convert.ToString(producto[x].CantidadProducto));
                    }
                    writer.Close();

                    tNombreProducto.Text   = "";
                    tPrecio.Text           = "";
                    tCodigoProducto.Text   = "";
                    tCantidadProducto.Text = "";
                    tNombreProducto.Focus();
                }
            }
            else
            {
                MessageBox.Show("Llene los espacios necesarios");
            }
        }
예제 #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (texVentaCodigo.Text != "")
            {
                produc.Clear();
                string       archi   = "inventario.txt";
                FileStream   stream2 = new FileStream(archi, FileMode.Open, FileAccess.Read);
                StreamReader reader  = new StreamReader(stream2);
                while (reader.Peek() > -1)
                {
                    Productos pt = new Productos();
                    pt.NombreProducto   = reader.ReadLine();
                    pt.PrecioProducto   = Convert.ToDecimal(reader.ReadLine());
                    pt.CodigoProducto   = reader.ReadLine();
                    pt.CantidadProducto = Convert.ToInt16(reader.ReadLine());
                    produc.Add(pt);
                }
                reader.Close();

                int     contador = 0, existe = 0;
                decimal precio = 0;
                for (int i = 0; i < produc.Count; i++)
                {
                    if (produc[i].NombreProducto == texProducto.Text.ToUpper())
                    {
                        existe++;
                        if (produc[i].CantidadProducto > Convert.ToInt16(texProducCantidad.Text))
                        {
                            produc[i].CantidadProducto = produc[i].CantidadProducto - Convert.ToInt16(texProducCantidad.Text);
                            contador++;
                            precio = produc[i].PrecioProducto;
                        }
                    }
                }
                if (existe > 0)
                {
                    if (contador > 0)
                    {
                        FileStream   stream3 = new FileStream(archi, FileMode.Open, FileAccess.Write);
                        StreamWriter writer3 = new StreamWriter(stream3);
                        for (int x = 0; x < produc.Count; x++)
                        {
                            writer3.WriteLine(produc[x].NombreProducto);
                            writer3.WriteLine(Convert.ToString(produc[x].PrecioProducto));
                            writer3.WriteLine(produc[x].CodigoProducto);
                            writer3.WriteLine(Convert.ToString(produc[x].CantidadProducto));
                        }
                        writer3.Close();

                        decimal subto = precio * Convert.ToDecimal(texProducCantidad.Text);
                        //guardo los datos de la factura con el codigo de compra
                        string       n       = texVentaCodigo.Text;
                        string       exten   = ".txt";
                        string       archivo = n + exten;
                        FileStream   stream  = new FileStream(archivo, FileMode.Append, FileAccess.Write);
                        StreamWriter writer  = new StreamWriter(stream);
                        writer.WriteLine(texProducCantidad.Text);
                        writer.WriteLine(texProducto.Text);
                        writer.WriteLine(Convert.ToString(precio));
                        writer.WriteLine(Convert.ToString(subto));
                        writer.Close();
                        dataGridView1.Rows.Add(texProducCantidad.Text, texProducto.Text, precio, subto);


                        datos.Clear();
                        string archivo4 = @"C:\Users\Hp Demo\Documents\Visual Studio 2012\Projects\PFProgra3\PFProgra3\bin\Debug\productomasvendido.txt";
                        if (File.Exists(archivo4))
                        {
                            datos.Clear();
                            FileStream   stream41 = new FileStream(archivo4, FileMode.Open, FileAccess.Read);
                            StreamReader reader41 = new StreamReader(stream41);
                            while (reader41.Peek() > -1)
                            {
                                DatosFac dt = new DatosFac();
                                dt.Nombreprod   = reader41.ReadLine();
                                dt.Cantidadprod = reader41.ReadLine();
                                datos.Add(dt);
                            }
                            reader41.Close();
                            int cont = 0;
                            for (int j = 0; j < datos.Count; j++)
                            {
                                if (datos[j].Nombreprod == texProducto.Text.ToUpper())
                                {
                                    cont++;
                                    int cant = Convert.ToInt16(datos[j].Cantidadprod) + Convert.ToInt16(texProducCantidad.Text);
                                    datos[j].Cantidadprod = Convert.ToString(cant);
                                }
                            }

                            if (cont > 0)
                            {
                                FileStream   stream5 = new FileStream(archivo4, FileMode.Open, FileAccess.Write);
                                StreamWriter writer5 = new StreamWriter(stream5);
                                for (int k = 0; k < datos.Count; k++)
                                {
                                    writer5.WriteLine(datos[k].Nombreprod);
                                    writer5.WriteLine(datos[k].Cantidadprod);
                                }
                                writer5.Close();
                            }
                            else
                            {
                                FileStream   stream6 = new FileStream(archivo4, FileMode.Append, FileAccess.Write);
                                StreamWriter writer6 = new StreamWriter(stream6);
                                writer6.WriteLine(texProducto.Text.ToUpper());
                                writer6.WriteLine(texProducCantidad.Text);
                                writer6.Close();
                            }
                        }
                        else
                        {
                            FileStream   stream4 = new FileStream(archivo4, FileMode.Append, FileAccess.Write);
                            StreamWriter writer4 = new StreamWriter(stream4);
                            writer4.WriteLine(texProducto.Text.ToUpper());
                            writer4.WriteLine(texProducCantidad.Text);
                            writer4.Close();
                        }
                        totalfac               = totalfac + subto;
                        ltotal.Text            = Convert.ToString(totalfac);
                        texProducto.Text       = "";
                        texProducCantidad.Text = "";
                        texProducCantidad.Focus();
                    }
                    else
                    {
                        MessageBox.Show("Cantidad insuficiente");
                    }
                }
                else
                {
                    MessageBox.Show("Producto inexistente");
                }
            }
            else
            {
                MessageBox.Show("Primero ingrese el codigo de venta!");
            }
        }