private void btnEliminarIngreso_Click(object sender, EventArgs e) { int idIngresoAEliminar = int.Parse(dgvListadoIngresos.SelectedRows[0].Cells[0].Value.ToString()); DialogResult resultadoDialgo = MetroMessageBox.Show(this, "¿Desea eliminar esta compra?", "¡Aviso!", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (resultadoDialgo == DialogResult.Yes) { List <DetalleIngreso> listadoDetalles = DetalleIngresoBL.ObtenerTodos(idIngresoAEliminar); if (listadoDetalles.Count >= 1) { DialogResult resultado = MetroMessageBox.Show(this, "Se eliminarán la compra y todos sus detalles.", "¡Advertencia!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (resultado == DialogResult.OK) { foreach (var item in listadoDetalles) { DetalleIngresoBL.Eliminar(item.Id); } IngresoBL.Eliminar(idIngresoAEliminar); } } else { IngresoBL.Eliminar(idIngresoAEliminar); } CargarIngresos(); } }
void GuardarCompra() { Cursor = Cursors.WaitCursor; // try //{ if (dgvListadoDetallesIngreso.Rows.Count < 1) { epValidadorControles.SetError(dgvListadoDetallesIngreso, "Debe agregar al menos un detalle."); } else { if (idIngreso == null) { int resultIngreso = 0; int resultDetalleIngreso = 0; Ingreso ingresoARegistrar = new Ingreso(); ingresoARegistrar.IdUsuario = FrmPrincipal.usuarioActual.Id; ingresoARegistrar.IdMarca = marca.Id; ingresoARegistrar.FechaIngreso = dtpFechaIngreso.Value; ingresoARegistrar.NumeroCCF = txtNumeroCCF.Text.Trim(); resultIngreso += IngresoBL.Guardar(ingresoARegistrar); for (int i = 0; i < listadoDetallesIngreso.Count; i++) { DetalleIngreso detalleIngresoARegistrar = new DetalleIngreso(); detalleIngresoARegistrar.IdIngreso = IngresoBL.BuscarPorNumeroCCF(marca.Id, dtpFechaIngreso.Value, txtNumeroCCF.Text).Id; detalleIngresoARegistrar.IdProducto = listadoDetallesIngreso[i].IdProducto; detalleIngresoARegistrar.Cantidad = listadoDetallesIngreso[i].Cantidad; detalleIngresoARegistrar.PrecioUnitario = listadoDetallesIngreso[i].PrecioUnitario; resultDetalleIngreso += DetalleIngresoBL.Guardar(detalleIngresoARegistrar); } MetroMessageBox.Show(this, $"{resultIngreso} ingreso registrado.\n{resultDetalleIngreso} detalle(s) registrado(s).", "Registro de ingresos", MessageBoxButtons.OK, MessageBoxIcon.Information); Limpiar(); } else { int resultIngreso = 0; int resultDetallesModificados = 0; int resultDetallesAñadidos = 0; int resultadoEliminados = 0; ingresoEditando.IdUsuario = FrmPrincipal.usuarioActual.Id; ingresoEditando.IdMarca = marca.Id; ingresoEditando.FechaIngreso = dtpFechaIngreso.Value; ingresoEditando.NumeroCCF = txtNumeroCCF.Text.Trim(); resultIngreso += IngresoBL.Modificar(ingresoEditando); for (int i = 0; i < listadoDetallesIngreso.Count; i++) { DetalleIngreso detalleIngresoARegistrar = new DetalleIngreso(); detalleIngresoARegistrar.IdProducto = listadoDetallesIngreso[i].IdProducto; detalleIngresoARegistrar.Cantidad = listadoDetallesIngreso[i].Cantidad; detalleIngresoARegistrar.PrecioUnitario = listadoDetallesIngreso[i].PrecioUnitario; if (listadoViejoDetallesIngreso.Find(x => x.Id == listadoViejoDetallesIngreso[i].Id) != null) { resultDetallesModificados += DetalleIngresoBL.Modificar(detalleIngresoARegistrar); } else { resultDetallesAñadidos += DetalleIngresoBL.Guardar(detalleIngresoARegistrar); } } if (detallesViejosAEliminarDeLaBD.Count >= 1) { for (int i = 0; i < detallesViejosAEliminarDeLaBD.Count; i++) { resultadoEliminados += DetalleIngresoBL.Eliminar(detallesViejosAEliminarDeLaBD[i]); } } objetoIngresosActual.CargarIngresos(); DialogResult resultadoDelDialgo = MetroMessageBox.Show (this, $"{resultIngreso} ingreso actualizado.\n{resultDetallesModificados} detalle(s) actualizado(s).\n" + $"{resultDetallesAñadidos} detalle(s) registrado(s).\n{resultadoEliminados} detalle(s) eliminado(s).\n¿Desea cerrar el editor?", "Actualización de ingresos", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (resultadoDelDialgo == DialogResult.Yes) { Close(); } } } /* } * catch (Exception error) * { * MetroMessageBox.Show(this, $"¡Ha ocurrido un error!\nMÁS INFORMACIÓN: {error.Message}", "Error", MessageBoxButtons.OK, * MessageBoxIcon.Error); * Close(); * }*/ Cursor = Cursors.Arrow; }