public bool Agregar(Presupuesto presupuesto) { try { daPresupuesto = new daPresupuesto(); daPresupuesto.IniciarTransaccion(); if (string.IsNullOrEmpty(presupuesto.numero)) { presupuesto.numero = generarNumeracion(daPresupuesto, presupuesto.numeracion.idNumeracion); } presupuesto.fechaCreacion = DateTime.Now; daPresupuesto.Agregar(presupuesto); daItemPresupuesto = new daPresupuestoItem(); daItemPresupuesto.AsignarSesion(daPresupuesto); foreach (PresupuestoItem item in presupuesto.items) { item.idPresupuesto = presupuesto.idPresupuesto; daItemPresupuesto.Agregar(item); } daPresupuesto.ConfirmarTransaccion(); } catch (Exception) { daPresupuesto.AbortarTransaccion(); throw; } finally { daPresupuesto.CerrarSesion(); } return true; }