public bool Actualizar(Reporte reporte) { try { daReporte = new daReporte(); daReporte.IniciarTransaccion(); Reporte reporte_ = daReporte.ObtenerPorId(reporte.idReporte); reporte_.descripcion = reporte.descripcion; reporte_.documento = reporte.documento; reporte_.ubicacion = reporte.ubicacion; reporte_.activo = reporte.activo; daItemReporte = new daReporteItem(); daItemReporte.AsignarSesion(daReporte); foreach (ReporteItem item in reporte.items) { if (item.idReporteItem == 0) { item.idReporte = reporte.idReporte; daItemReporte.Agregar(item); } else { ReporteItem item_ = daItemReporte.ObtenerPorId(item.idReporteItem); item_.nombre = item.nombre; item_.asignarId = item.asignarId; item_.valor = item.valor; } } foreach (int idItem in reporte.idsItems) { daItemReporte.EliminarPorId(idItem, constantes.esquemas.Administracion); } daReporte.ConfirmarTransaccion(); } catch (Exception) { daReporte.AbortarTransaccion(); throw; } finally { daReporte.CerrarSesion(); } return true; }
public Reporte ObtenerPorId(int idReporte) { Reporte reporte; try { daReporte = new daReporte(); daReporte.AbrirSesion(); reporte = daReporte.ObtenerPorId(idReporte); daItemReporte = new daReporteItem(); daItemReporte.AsignarSesion(daReporte); List<object[]> filtros = new List<object[]>(); filtros.Add(new object[] { "idReporte", idReporte }); reporte.items = daItemReporte.ObtenerLista(filtros); } catch (Exception) { throw; } finally { daReporte.CerrarSesion(); } return reporte; }