コード例 #1
0
        // CARGO LAS LINEAS DEL ALBARAN X
        public ArrayList cargarLineasAlbaran(String idAlbaran)
        {
            ArrayList lineas = new ArrayList();

            cmd = new SqlCommand("SELECT ln.* " +
                                 "FROM Albaranes al JOIN Lineas ln " +
                                 "ON al.idAlbaran = ln.idAlbaran " +
                                 "WHERE al.idAlbaran = " + idAlbaran, conn);
            dr = cmd.ExecuteReader();

            //SI TIENE FILAS LEELO
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Linea linea = new Linea(dr.GetDouble(0), dr.GetString(1), dr.GetString(2), dr.GetDouble(3), dr.GetDouble(4));
                    lineas.Add(linea);
                }
            }
            dr.Close();
            return(lineas);
        }
コード例 #2
0
        // EVENTO BOTONES MODIFICAR
        public void eventoBotonesModificar(object sender, EventArgs e)
        {
            Button btnSeleccionado = (Button)sender;

            if (btnSeleccionado.Name.Equals("btnBorrar"))
            {
                if (lvLineas.SelectedItems.Count > 0)
                {
                    ListViewItem listItem = lvLineas.SelectedItems[0];
                    lvLineas.Items.Remove(listItem);

                    Linea lnBorrada = new Linea();
                    foreach (Linea ln in lineasArray)
                    {
                        if (ln.getProducto().ToString().Equals(listItem.SubItems[2].Text))
                        {
                            lnBorrada = ln;
                        }
                    }

                    totalImporte        -= Convert.ToDouble(lnBorrada.getCantidad()) * Convert.ToDouble(lnBorrada.getPrecio_Unitario());
                    this.txtImporte.Text = "";
                    this.txtImporte.Text = totalImporte.ToString() + " €";

                    //calcularImporteAlbaran();


                    // BORRO DEL ARRAYLIST DE LINEAS
                    lineasArray.Remove(lnBorrada);

                    // BORRO DE LA BBDD
                    // DELETE FROM Lineas WHERE descripcion_producto = 'MANZANAS' AND idAlbaran = 12;
                    conexion.borrarLinea(listItem.SubItems[2].Text, alModificar.getIdAlbaran().ToString());

                    limpiarTextbox();

                    MessageBox.Show("Linea " + listItem.SubItems[2].Text + " Borrado/a Correctamente en el Albaran " + alModificar.getIdAlbaran().ToString(), "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    // PROBLEMA PREGUNTAR SI QUIERES MODIFICAR EL IMPORTE UNA VEZ BORRADA LA LINEA
                }
                else
                {
                    MessageBox.Show("Selecciona una Linea/Producto en el Listado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (btnSeleccionado.Name.Equals("btnModificarLinea"))
            {
                if (lvLineas.SelectedItems.Count > 0)
                {
                    ListViewItem listItem = lvLineas.SelectedItems[0];

                    // CODIGO PARA MODIFICAR LINEA
                    // COMPRUEBO QUE EL PRODUCTO NO SEA REPETIDO

                    try
                    {
                        foreach (Linea ln in lineasArray)
                        {
                            if (ln.getProducto().Equals(listItem.SubItems[2].Text))
                            {
                                ln.setCantidad(Convert.ToDouble(this.txtCantidad.Text.Replace('.', ',')));
                                ln.setUnidad(this.txtUnidad.Text);
                                ln.setProducto(this.txtProducto.Text.ToUpper());
                                ln.setPrecio_Unitario(Convert.ToDouble(this.txtPrecio.Text.Replace('.', ',')));
                                ln.setImporte(Convert.ToDouble(this.txtCantidad.Text.Replace('.', ',')) * Convert.ToDouble(this.txtPrecio.Text.Replace('.', ',')));


                                //UPDATE Lineas SET cantidad = 2.3, unidad = 'GR', descripcion_producto = 'MANZANAS', precio_unitario = 0.50, importe = 23 WHERE descripcion_producto = 'ÑOKIS' AND idAlbaran = 12;
                                conexion.modificarLinea(this.txtCantidad.Text.Replace(',', '.'), this.txtUnidad.Text.ToUpper(), this.txtProducto.Text.ToUpper(), this.txtPrecio.Text.Replace(',', '.'), Convert.ToString(Convert.ToDouble(this.txtCantidad.Text.Replace('.', ',')) * Convert.ToDouble(this.txtPrecio.Text.Replace('.', ','))).Replace(',', '.'), listItem.SubItems[2].Text, alModificar.getIdAlbaran().ToString());

                                calcularImporteAlbaran();
                                cargarLineasLV();
                            }
                        }
                    }
                    catch (FormatException)
                    {
                        MessageBox.Show("Valores Introducidos No Validos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Selecciona una Linea/Producto en el Listado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (btnSeleccionado.Name.Equals("btnModificarLineasAlbaran"))
            {
                String salidaLinea = "";
                foreach (Linea ln in lineasNuevasArray)
                {
                    salidaLinea += "CANTIDAD: " + ln.getCantidad().ToString() + " UNIDAD: " + ln.getUnidad() + " PRODUCTO: " + ln.getProducto() + " PRECIO_UNITARIO: " + ln.getPrecio_Unitario().ToString() + " IMPORTE: " + ln.getImporte().ToString() + "€\n";
                }

                DialogResult resultLineas = MessageBox.Show(salidaLinea, "DATOS LINEAS ALBARAN " + alModificar.getIdAlbaran().ToString(), MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);

                if (resultLineas == DialogResult.OK)
                {
                    foreach (Linea ln in lineasNuevasArray)
                    {
                        conexion.insertarLinea(ln.getCantidad().ToString().Replace(',', '.'), ln.getUnidad().ToString(), ln.getProducto().ToString(), ln.getPrecio_Unitario().ToString().Replace(',', '.'), ln.getImporte().ToString().Replace(',', '.'), alModificar.getIdAlbaran());
                    }

                    // MENSAJE INSERTO CORRECTAMENTE
                    MessageBox.Show("Albaran: " + alModificar.getIdAlbaran().ToString() + " y " + lineasNuevasArray.Count.ToString() + " Lineas Insertado/as Correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }