public bool Agregar(Cliente cliente) { try { daCliente = new daCliente(); daCliente.IniciarTransaccion(); daCliente.Agregar(cliente); daClienteDireccion = new daClienteDireccion(); daClienteDireccion.AsignarSesion(daCliente); foreach (ClienteDireccion direccion in cliente.direcciones) { daClienteDireccion.Agregar(direccion); } daClienteContacto = new daClienteContacto(); daClienteContacto.AsignarSesion(daCliente); foreach (ClienteContacto contacto in cliente.contactos) { daClienteContacto.Agregar(contacto); } daCliente.ConfirmarTransaccion(); } catch (Exception) { daCliente.AbortarTransaccion(); throw; } finally { daCliente.CerrarSesion(); } return true; }