Commit ebe9fd7e by Thanh Hung Pham

Complete feature import data from csv

parent 92ded657
......@@ -18,48 +18,85 @@ class CSVReader
Thread.new do
begin
begin
# Area information
Area.new(name: 'Viet Nam').save if Area.where(name: 'Viet Nam').blank?
Area.new(name: 'International').save if Area.where(name: 'International').blank?
csv_text = File.read(@file)
csv = CSV.parse(csv_text, headers: :true)
csv.each do |row|
# Job type information
job_type_name = row['type'].strip unless row['type'].nil?
job_type = JobType.new
job_type.name = row['type']
job_type.save if JobType.find_by_name(row['type']).blank?
job_type.name = job_type_name
job_type.save if JobType.find_by_name(job_type_name).blank?
# Contact information
contact_name = row['contact name'].strip unless row['contact name'].nil?
contact_email = row['contact email'].strip unless row['contact email'].nil?
contact_phone = row['contact phone'].strip unless row['contact phone'].nil?
contact = Contact.new
contact.email = row['contact email']
contact.name = row['contact name']
contact.phone = row['contact phone']
contact.save if Contact.find_by_email(row['email']).blank?
contact.email = contact_email
contact.name = contact_name
contact.phone = contact_phone
contact.save if Contact.find_by_email(contact_email).blank?
# Company information
company_address = row['company address'].strip unless row['company address'].nil?
company_district = row['company district'].strip unless row['company district'].nil?
company_name = row['company name'].strip unless row['company name'].nil?
company_province = row['company province'].strip unless row['company province'].nil?
company = Company.new
company.address = row['company address']
company.district = row['company district']
company.name = row['company name']
company.province = row['company province']
company.save if Company.find_by_name(row['name']).blank?
company.address = company_address
company.district = company_district
company.name = company_name
company.province = company_province
company.save if Company.find_by_name(company_name).blank?
# Category information
category_name = row['category'].strip unless row['category'].nil?
category = Category.new
category.name = row['category']
category.save if Category.find_by_name(row['name']).blank?
category.name = category_name
category.save if Category.find_by_name(category_name).blank?
# City information
city_name = row['work place'].strip unless row['work place'].nil?
city = City.new
city.name = city_name
city.area = Area.find(1)
city.save if City.find_by_name(city_name).blank?
# Job information
job_benefit = row['benefit'].strip unless row['benefit'].nil?
job_description = row['description'].strip unless row['description'].nil?
job_level = row['level'].strip unless row['level'].nil?
job_name = row['name'].strip unless row['name'].nil?
job_requirement = row['requirement'].strip unless row['requirement'].nil?
job_salary = row['salary'].strip unless row['salary'].nil?
job = Job.new
job.benefit = row['benefit']
job.description = row['description']
job.level = row['level']
job.name = row['name']
job.requirement = row['requirement']
job.salary = row['salary']
job.city = City.find_by_name(row['work place'])
job.benefit = job_benefit
job.description = job_description
job.level = job_level
job.name = job_name
job.requirement = job_requirement
job.salary = job_salary
job.city = city
job.job_type = job_type
job.contact = contact
job.company = company
job.save
job.save if Job.where(name: job_name, city: city, company: company).blank?
# Job Category Information
job_category = JobCategory.new
job_category.job = job
job_category.category = category
job_category.save
job_category.save if JobCategory.where(job: job, category: category).blank?
end
rescue StandardError => e
logger.error(e.message)
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment