class Base::SchoolYearSession < ApplicationRecord
  include Castable

  self.table_name = 'SchoolYearSessions'
  self.primary_key = 'SYSID'

  cast_as_date :StartDate
  cast_as_date :EndDate

  alias_attribute :id, :SYSID
  alias_attribute :school_id, :SchoolID
  alias_attribute :school_year_id, :SchoolYearID
  alias_attribute :start, :StartDate
  alias_attribute :end, :EndDate
  alias_attribute :sequence, :Sequence
  alias_attribute :name, :Name
  alias_attribute :description, :Description

  before_create :set_defaults

  private
    def set_defaults
      self.SchoolYearID = 0 unless self.SchoolYearID
      self.StartDate = 0 unless self.StartDate
      self.EndDate = 0 unless self.EndDate
      self.Sequence = 0 unless self.Sequence
      self.Name = '' unless self.Name
      self.Description = '' unless self.Description
    end
end
