Sha256: ab6efbc93336149fbc2588dc5fc5e4325e7c86bde2924ab09d00f832a2a01501
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true require './views/main_window' require './repositories/student_repository' require './repositories/adapters/db_source_adapter' require './repositories/containers/data_list_student_short' require 'win32api' class TabStudentsController def initialize(view) @view = view @data_list = DataListStudentShort.new([]) @data_list.add_listener(@view) end def on_view_created begin @student_rep = StudentRepository.new(DBSourceAdapter.new) rescue Mysql2::Error::ConnectionError on_db_conn_error end end def show_view @view.create.show end def refresh_data(page, per_page) begin @data_list = @student_rep.paginated_short_students(page, per_page, @data_list) @view.update_count(@student_rep.student_count) rescue on_db_conn_error end end def on_db_conn_error api = Win32API.new('user32', 'MessageBox', ['L', 'P', 'P', 'L'], 'I') api.call(0, "No connection to DB", "Error", 0) # TODO: Возможность переключения на JSON помимо exit exit(false) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shnaider_carproj-0.1.0 | lib/controllers/tab_students_controller.rb |