# # frozen_string_literal: true # # require './jew/views/main_window' # require './jew/repositories/student_repository' # require './jew/repositories/adapters/db_source_adapter' # require './jew/repositories/containers/data_list_student_short' # require './jew/state_holders/list_state_notifier' # require_relative '../author_db_data_source' # require 'win32api' # # class AuthorController # # # def initialize(view) # @view = view # @state_notifier = ListStateNotifier.new # @state_notifier.add_listener(@view) # @author_rep = AuthorDBDataSource.new # end # # def edit (number) # master = @state_notifier.get(number) # puts master.id # # @view.show_edit_dialog(master) # end # # def add (number) # master = @state_notifier.get(number) # puts master # # @view.show_add_dialog(master) # end # # # def remove (number) # master = @state_notifier.get(number) # puts master # # @view.show_remove_dialog(master) # end # # def refresh_data(page, per_page) # items = @author_rep.get_list(per_page, page, 'FirstName', 'ASC' ) # @state_notifier.set_all(items) # @view.update_student_count(@author_rep.count) # end # # def refresh() # items = @author_rep.get_list(per_page, page, 'FirstName', 'ASC' ) # @state_notifier.set_all(items) # @view.update_student_count(@author_rep.count) # 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) # exit(false) # end # end