public bool Eliminar(List<int> ids) { try { daCotizacion = new daCotizacion(); daCotizacion.IniciarTransaccion(); foreach (var idCotizacion in ids) { daCotizacion.EliminarPorId(idCotizacion, constantes.esquemas.Ventas); daCotizacionGrupo = new daCotizacionGrupo(); daCotizacionGrupo.AsignarSesion(daCotizacion); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idCotizacion", idCotizacion }); List<CotizacionGrupo> grupos = daCotizacionGrupo.ObtenerLista(filtros); daCotizacionGrupo.EliminarPorIdCotizacion(idCotizacion); daCotizacionItem = new daCotizacionItem(); daCotizacionItem.AsignarSesion(daCotizacion); foreach (CotizacionGrupo grupo in grupos) { filtros = new List<object[]>(); filtros.Add(new object[] { "idCotizacionGrupo", grupo.idCotizacionGrupo }); List<CotizacionItem> items = daCotizacionItem.ObtenerLista(filtros); daCotizacionItem.EliminarPorIdCotizacionGrupo(grupo.idCotizacionGrupo); daCotizacionServicio = new daCotizacionServicio(); daCotizacionServicio.AsignarSesion(daCotizacion); foreach (CotizacionItem item in items) { daCotizacionServicio.EliminarPorIdCotizacionItem(item.idCotizacionItem); } } } daCotizacion.ConfirmarTransaccion(); } catch (Exception) { daCotizacion.AbortarTransaccion(); throw; } finally { daCotizacion.CerrarSesion(); } return true; }