module Base::SchoolYearStudent
  extend ActiveSupport::Concern

  included do
    self.table_name = 'SchoolYearStudents'
    self.primary_key = 'SchoolYearStudentID'

    alias_attribute :id, :SchoolYearStudentID
    alias_attribute :school_id, :SchoolID
    alias_attribute :school_year_id, :SchoolYearID
    alias_attribute :student_id, :StudentID
    alias_attribute :grade_id, :SYGrade
    alias_attribute :entry_date, :EntryDate
    # alias_attribute :entry_type, :EntryType
    alias_attribute :exit_date, :ExitDate
    alias_attribute :exit_type, :ExitType
    # alias_attribute :residency, :Residency
    alias_attribute :primary_school, :PrimarySchool
    alias_attribute :current, :Current
    alias_attribute :edfi_id, :EdFiID
    # alias_attribute :edfi_ext_id, :edFiExtID

    before_create :set_defaults

    def legacy_class_name
      'SchoolYearStudent'
    end

    private
      def set_defaults
        self.SYGrade = 0 unless self.SYGrade
        self.EntryType = 0 unless self.EntryType
        self.ExitType = 0 unless self.ExitType
        self.Residency = 0 unless self.Residency
        self.PrimarySchool = 0 unless self.PrimarySchool
        self.EdFiID = '' unless self.EdFiID
        self.EdFiExtID = '' unless self.EdFiExtID
      end
  end
end
