public void ParseJobAdSalaries(bool limitToOpenJobAds) { var jobAdIds = limitToOpenJobAds ? _jobAdsQuery.GetOpenJobAdsWithoutSalaries() : _jobAdsQuery.GetJobAdsWithoutSalaries(); if (jobAdIds == null || jobAdIds.Count == 0) { return; } foreach (var id in jobAdIds) { var jobAd = _jobAdsQuery.GetJobAd <JobAd>(id); var parsedSalary = new Salary { Currency = Currency.AUD, Rate = SalaryRate.Year }; ParseSalaryFromText(jobAd.Description.Content, ref parsedSalary); if (parsedSalary == null || parsedSalary.IsEmpty) { ParseSalaryFromText(jobAd.Title, ref parsedSalary); } if (parsedSalary == null || parsedSalary.IsEmpty) { continue; } if (!ReasonableSalary(parsedSalary)) { continue; } jobAd.Description.ParsedSalary = parsedSalary; _jobAdsCommand.UpdateJobAd(jobAd); } }