module Base::TechnologyPayment
  extend ActiveSupport::Concern

  included do
    self.table_name = :AccTechnologyPayment
    self.primary_key = :TCHID

    alias_attribute :id, :TCHID
    alias_attribute :school_id, :SchoolID
    alias_attribute :school_year_id, :SchoolYearID
    alias_attribute :family_id, :FamilyID
    alias_attribute :student_id, :StudentID
    alias_attribute :payment_type, :PaymentType
    alias_attribute :payment_last4, :PaymentLast4
    alias_attribute :transaction_id, :TransactionID
    alias_attribute :amount, :Amount
    alias_attribute :status, :Status
    alias_attribute :created_at, :CreatedAt
    alias_attribute :updated_at, :UpdatedAt

    before_create :set_defaults

    private
      def set_defaults
        self.SchoolID = 0 unless self.SchoolID
        self.SchoolYearID = 0 unless self.SchoolYearID
        self.FamilyID = 0 unless self.FamilyID
        self.StudentID = 0 unless self.StudentID
        self.PaymentType = '' unless self.PaymentType
        self.PaymentLast4 = '' unless self.PaymentLast4
        self.TransactionID = '' unless self.TransactionID
        self.Amount = 50.00 unless self.Amount
        self.Status = '' unless self.Status
        self.CreatedAt = Time.current unless self.CreatedAt
        self.UpdatedAt = Time.current unless self.UpdatedAt
      end
  end
end
