namespace :organisation do
  desc "Setting organisation id for network level resources"
  task set_org_id: :environment do 
    Organisation.all.each do |org|
      org.location_networks.each do |loc|
        puts "START[#{Time.now}] - Organisation Id[#{org.id}] has been set successfully for network[#{loc.id}]-#{loc.network_name}"
        loc.network_ssids.update_all(organisation_id: org.id) if loc.network_ssids.present?

        loc.wired_configs.update_all(organisation_id: org.id) if loc.wired_configs.present?

        loc.v_lans.update_all(organisation_id: org.id) if loc.v_lans.present?
        loc.network_ssids.each do |ssid|
          ssid.v_lan.update_column(:organisation_id, org.id) if ssid.v_lan.present?
        end

        loc.radio_profiles.update_all(organisation_id: org.id) if loc.radio_profiles.present?

        loc.switch_configurations.update_all(organisation_id: org.id) if loc.switch_configurations.present?
        puts "END[#{Time.now}] - Organisation Id[#{org.id}] has been set successfully for network[#{loc.id}]-#{loc.network_name}"
      end
    end
  end 

  task set_org_id_phase2: :environment do
    Organisation.all.each do |org|  
      org.location_networks.each do |loc|
        puts "START[#{Time.now}] - Organisation Id[#{org.id}] has been set successfully for network[#{loc.id}]-#{loc.network_name}"
        loc.reports.update_all(organisation_id: org.id) if loc.reports.present?

        loc.ntp_server.update_column(organisation_id: org.id) if loc.ntp_server.present?

        loc.alerts.update_all(organisation_id: org.id) if loc.alerts.present?

        loc.firewall_configs.update_all(organisation_id: org.id) if loc.firewall_configs.present?

        loc.loggings.update_all(organisation_id: org.id) if loc.loggings.present?

        loc.vpn_configs.update_all(organisation_id: org.id) if loc.vpn_configs.present?

        loc.static_routes.update_all(organisation_id: org.id) if loc.static_routes.present?
        puts "END[#{Time.now}] - Organisation Id[#{org.id}] has been set successfully for network[#{loc.id}]-#{loc.network_name}"
      end
    end
  end
end