// CONSTRUCTOR PARA MODIFICAR LINEAS public CreacionAlbaran(Albaran albaran, String cliente) { InitializeComponent(); conexion = new Conexion(); //PONGO VALOR AL ALBARAN alModificar = albaran; lineasArray = conexion.cargarLineasAlbaran(albaran.getIdAlbaran().ToString()); this.lineasNuevasArray = new ArrayList(); //OCULTO COMPONENTES DE INSERTAR this.cbElegirClientes.Visible = false; this.lblNumeroAlbaran.Text = albaran.getIdAlbaran().ToString(); this.btnBorrarLinea.Dispose(); this.btnGuardarAlbaran.Dispose(); this.txtImporte.Text = albaran.getSubtotal().ToString() + "€"; String[] quitoEuro = this.txtImporte.Text.Split('€'); //PONGO EL IMPORTE TOTAL Y CARGO LAS LINEAS totalImporte = Convert.ToDouble(quitoEuro[0].Trim()); cargarLineasLV(); // CREACION LABEL Label lnDni = new Label(); lnDni.Font = new System.Drawing.Font("Times New Roman", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lnDni.Location = new System.Drawing.Point(700, 20); lnDni.Name = "lnDni"; lnDni.Size = new System.Drawing.Size(120, 19); lnDni.Text = cliente; //CREACION BOTONES // boton borrar Button btnBorrar = new Button(); btnBorrar.Cursor = System.Windows.Forms.Cursors.Hand; btnBorrar.Location = new System.Drawing.Point(27, 260); btnBorrar.Name = "btnBorrar"; btnBorrar.Size = new System.Drawing.Size(104, 32); btnBorrar.TabIndex = 0; btnBorrar.TabStop = false; btnBorrar.Text = "Borrar Linea"; btnBorrar.Visible = true; btnBorrar.Click += new System.EventHandler(this.eventoBotonesModificar); //boton Modificar Button btnModificar = new Button(); btnModificar.Cursor = System.Windows.Forms.Cursors.Hand; btnModificar.Location = new System.Drawing.Point(150, 260); btnModificar.Name = "btnModificarLinea"; btnModificar.Size = new System.Drawing.Size(150, 32); btnModificar.TabIndex = 0; btnModificar.TabStop = false; btnModificar.Text = "Modificar Linea"; btnModificar.Visible = true; btnModificar.UseVisualStyleBackColor = true; btnModificar.Click += new System.EventHandler(this.eventoBotonesModificar); //boton ModificarAlbaran Button btnModificarLineasAlbaran = new Button(); btnModificarLineasAlbaran.Cursor = System.Windows.Forms.Cursors.Hand; btnModificarLineasAlbaran.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); btnModificarLineasAlbaran.Location = new System.Drawing.Point(700, 253); btnModificarLineasAlbaran.Name = "btnModificarLineasAlbaran"; btnModificarLineasAlbaran.Size = new System.Drawing.Size(183, 39); btnModificarLineasAlbaran.TabIndex = 0; btnModificarLineasAlbaran.TabStop = false; btnModificarLineasAlbaran.Text = "MODIFICAR ALBARAN"; btnModificarLineasAlbaran.UseVisualStyleBackColor = true; btnModificarLineasAlbaran.Click += new System.EventHandler(this.eventoBotonesModificar); this.Controls.Add(lnDni); this.Controls.Add(btnBorrar); this.Controls.Add(btnModificar); this.Controls.Add(btnModificarLineasAlbaran); this.gbListadoLineas.Controls.Add(btnBorrar); this.gbListadoLineas.Controls.Add(btnModificar); this.gbListadoLineas.Controls.Add(btnModificarLineasAlbaran); formModificacion = true; }
// 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); } } }