def save
Base.begin_transaction(true)
token = Base.login
raise Exception.new('Update failed prior to saving') unless Base.make_call('update')
sysid = Base.make_call('new_system',token)
Base.make_call('modify_system',sysid,'name', name, token)
Base.make_call('modify_system',sysid,'profile',profile,token) if profile
Base.make_call('modify_system',sysid,'image', image, token) if image
if @interfaces
count = 0
@interfaces.each do |interface|
values = interface.bundle_for_saving(count)
unless values.empty?
Base.make_call('modify_system',sysid,'modify-interface',values,token)
count = count + 1
end
end
end
Base.make_call('save_system',sysid,token)
Base.end_transaction
end