class Expenses
  def self.insert_expense(repo, row)
    record_id = repo.insert_ledger_adjustment_detail(row)
    row[:record_id] = record_id
    record_id
  end

  def self.insert_aggregated_expenses(repo, expense_record_ids, event_id)
    aggregated_expenses = repo.get_aggregated_expenses(expense_record_ids)

    aggregated_expenses.each do | aggregate |
      record_id = repo.insert_ledger_adjustment(event_id, aggregate)
      # puts "Detail IDs length: #{aggregate[:account_id]} - #{aggregate[:ledger_adjustment_detail_ids].length}" if aggregate[:ledger_adjustment_detail_ids].length > 1000
      repo.insert_adjustment_detail_join_records(record_id, aggregate[:ledger_adjustment_detail_ids], aggregate[:count])
    end
  end
end

