Language.create!(name: 'English (US)', code: 'en', locale: 'en-US') if Language.count == 0

if Administrator.count == 0
  admin = Administrator.new(
    first_name: 'Super', 
    last_name: 'Admin', 
    email: 'admin@example.com', 
    password: 'adminpass', 
    password_confirmation: 'adminpass'
  )
  admin.hidden = true
  admin.confirmed_at = Time.now
  admin.save!
end

ActiveRecord::Base.transaction do
  if FilterCollectionLocation.count == 0
    CSV.foreach(File.join(Rails.root, "db", "seed_data", "filter_collection_companies.csv"), :headers => true, :encoding => 'UTF-8') do |row|
      row = row.to_hash
      if company = FilterCollectionCompany.find_or_create_by_name(row['name'])
        company.update_attribute(:website, row['website'])
        puts "Created #{company.name}."
      else
        puts "COULD NOT CREATE #{row['name']}!"
      end
    end

    CSV.foreach(File.join(Rails.root, "db", "seed_data", "filter_collection_locations.csv"), :headers => true, :encoding => 'UTF-8') do |row|
      row = row.to_hash.merge({ nora: true })
      if (company = FilterCollectionCompany.find_or_create_by_name(row.delete('company'))) && (company_location = company.filter_collection_locations.create(row))
        puts "Created #{company_location.city} location for #{company.name}."
      else
        puts "COULD NOT CREATE #{row['city']} location for #{row['company']}!"
      end
    end
  end
end