private void tsbEliminarEliminar_Click(object sender, EventArgs e) { try { if (lvImagenes.SelectedItems.Count > 0) { ListViewItem item = lvImagenes.SelectedItems[0]; if (MessageBox.Show("Desea quitar la imagen seleccionada de la lista", "Quitar imagen de la Lista", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { int idProductoImagenes = Convert.ToInt32(item.SubItems[1].Text); if (idProductoImagenes == 0) { item.Remove(); } else { ProductoImagenesEN oRegistroEN = new ProductoImagenesEN(); ProductoImagenesLN oRegistroLN = new ProductoImagenesLN(); oRegistroEN.idProductoImagenes = idProductoImagenes; oRegistroEN.oProductoEN.idProducto = ValorLlavePrimariaEntidad; oRegistroEN.oLoginEN = Program.oLoginEN; oRegistroEN.idUsuarioDeCreacion = Program.oLoginEN.idUsuario; oRegistroEN.idUsuarioModificacion = Program.oLoginEN.idUsuario; oRegistroEN.FechaDeCreacion = System.DateTime.Now; oRegistroEN.FechaDeModificacion = System.DateTime.Now; if (oRegistroLN.Eliminar(oRegistroEN, Program.oDatosDeConexion)) { item.Remove(); } } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Eliminar Imagen de la Galeria", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void CargarImagenDesdeLaBD() { try { ProductoImagenesEN oRegistroEN = new ProductoImagenesEN(); ProductoImagenesLN oRegistroLN = new ProductoImagenesLN(); oRegistroEN.oProductoEN.idProducto = ValorLlavePrimariaEntidad; oRegistroEN.Where = string.Format(" and idProducto = {0}", ValorLlavePrimariaEntidad); ListaDeImagenes.Images.Clear(); lvImagenes.Items.Clear(); if (oRegistroLN.Listado(oRegistroEN, Program.oDatosDeConexion)) { if (oRegistroLN.TraerDatos().Rows.Count > 0) { foreach (DataRow Fila in oRegistroLN.TraerDatos().Rows) { if (Fila["Foto"] != DBNull.Value) { Image ImagenDB = Imagenes.ProcesarImagenToBitMap((object)(Fila["Foto"])); ListaDeImagenes.Images.Add(ImagenDB); ListViewItem item = new ListViewItem(""); item.SubItems.Add(Fila["idProductoImagenes"].ToString()); item.ImageIndex = ListaDeImagenes.Images.Count - 1; lvImagenes.Items.Add(item); } } } } else { throw new ArgumentException(oRegistroLN.Error); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Cargar imagenes desde la base de datos.", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private bool InsertarEliminarActualizar() { try { this.Cursor = Cursors.WaitCursor; if (EvaluarListView(lvImagenes)) { string DescOperacion = DescripcionDetallaDeLaOperacion(lvImagenes); if (DescOperacion.Trim().Length > 0) { MessageBox.Show(DescOperacion, "Insertar, eliminar o actualizar", MessageBoxButtons.OK, MessageBoxIcon.Warning); int Indice = 0; while (Indice <= lvImagenes.Items.Count - 1) { ListViewItem Fila = lvImagenes.Items[Indice]; bool Eliminar = Fila.Checked; int idProductoImagenes; int.TryParse(Fila.SubItems[1].Text, out idProductoImagenes); string OperacionAREalizar = ""; if (Eliminar == false && idProductoImagenes == 0) { OperacionAREalizar = "NUEVO"; } else if (Eliminar == false && idProductoImagenes > 0) { OperacionAREalizar = "ACTUALIZAR"; } else if (Eliminar == true && idProductoImagenes > 0) { OperacionAREalizar = "ELIMINAR"; } else if (Eliminar == true && idProductoImagenes == 0) { OperacionAREalizar = "REMOVER"; } ProductoImagenesEN oRegistroEN = new ProductoImagenesEN(); oRegistroEN.idProductoImagenes = idProductoImagenes; oRegistroEN.oProductoEN.idProducto = ValorLlavePrimariaEntidad; System.IO.MemoryStream ms = new System.IO.MemoryStream(); ListaDeImagenes.Images[Fila.ImageIndex].Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); oRegistroEN.AFoto = ms.GetBuffer(); ProductoImagenesLN oRegistroLN = new ProductoImagenesLN(); switch (OperacionAREalizar) { case "REMOVER": lvImagenes.Items[Indice].Remove(); if (lvImagenes.Items.Count <= 0) { Indice++; } continue; case "NUEVO": if (oRegistroLN.Agregar(oRegistroEN, Program.oDatosDeConexion)) { Fila.SubItems[1].Text = oRegistroEN.idProductoImagenes.ToString(); oRegistroEN = null; oRegistroLN = null; Indice++; continue; } else { this.Cursor = Cursors.Default; throw new ArgumentException(oRegistroLN.Error); } case "ACTUALIZAR": if (oRegistroLN.Actualizar(oRegistroEN, Program.oDatosDeConexion)) { oRegistroEN = null; oRegistroLN = null; Indice++; continue; } else { this.Cursor = Cursors.Default; throw new ArgumentException(oRegistroLN.Error); } case "ELIMINAR": if (oRegistroLN.Eliminar(oRegistroEN, Program.oDatosDeConexion)) { lvImagenes.Items[Indice].Remove(); if (lvImagenes.Items.Count <= 0) { Indice++; } oRegistroEN = null; oRegistroLN = null; continue; } else { this.Cursor = Cursors.Default; throw new ArgumentException(oRegistroLN.Error); } } } this.Cursor = Cursors.Default; } } return(true); }catch (Exception ex) { MessageBox.Show(ex.Message, "Insertar, eliminar o actualizar registro", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } finally { this.Cursor = Cursors.Default; } }