module Base::TimeCard::Task
  extend ActiveSupport::Concern
  include Castable

  included do
    self.table_name = :TimeCardTask
    self.primary_key = :TCTID

    cast_as_boolean :TimeOff

    alias_attribute :id, :TCTID
    alias_attribute :school_id, :SchoolID
    alias_attribute :code, :Code
    alias_attribute :name, :Name
    alias_attribute :description, :Description
    alias_attribute :time_off, :TimeOff

    before_create :set_defaults

    private
      def set_defaults
        self.SchoolID = 0 unless self.SchoolID
        self.Code = '' unless self.Code
        self.Description = '' unless self.Description
      end
  end
end
