using compabetov2.database; using compabetov2.database.modelos; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace compabetov2.admin { public partial class editar : Form { private Producto producto; private crud ventanaPadre; private string imagePath; public editar (Producto producto, crud ventanaPadre) { this.producto = producto; this.ventanaPadre = ventanaPadre; imagePath = Path.Combine(Application.StartupPath, "Resources", producto.img); InitializeComponent(); cargarInto(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "Archivos de imagen (*.jpg, *.jpeg, *.png, *.bmp)|*.jpg;*.jpeg;*.png;*.bmp"; openFileDialog1.Title = "Seleccionar imagen"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { imagePath = openFileDialog1.FileName; lbImg.Text = $"Imagen: {Path.GetFileName(imagePath)}"; } } private void cargarInto() { txtNombre.Text = producto.nombre; lbImg.Text = $"Imagen: {Path.GetFileName(imagePath)}"; ; } private void editar_Load(object sender, EventArgs e) { } private void pictureBox2_Click(object sender, EventArgs e) { try { decimal precio = 0; string nombre = txtNombre.Text; //en caso de que descida cambiar la imagen if (!imagePath.Equals("")) { Producto productoNuevo = new Producto(producto.idProducto, nombre, "", precio, Path.GetFileName(imagePath), 0); if (service.editarProducto(productoNuevo)) { if(Path.GetFileName(imagePath) != producto.img) { //guardar imagen nueva string destinationFolder = Path.Combine(Application.StartupPath, "Resources"); string destinationFile = Path.Combine(destinationFolder, Path.GetFileName(imagePath)); File.Copy(imagePath, destinationFile, true); } ventanaPadre.llenarLayout(); Close(); } } else { // si la imagen no es modificada Producto productoNuevo = new Producto(producto.idProducto, nombre, "", precio, producto.img, 0); if (service.editarProducto(productoNuevo)) { ventanaPadre.llenarLayout(); Close(); } } } catch(Exception ex) { MessageBox.Show(ex.Message); MessageBox.Show("Por favor introduzca un precio valido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void pictureBox1_Click(object sender, EventArgs e) { Close(); } } }