private async Task <Employer> AddEmployerAsync(HeadHunterEmployer headHunterEmployer) { var employer = new Employer { Name = headHunterEmployer.Name }; return(await _storageBroker.InsertEmployerAsync(employer)); }
private async Task <Employer> GetOrCreateEmployerAsync(SourceType sourceType, HeadHunterVacancy headHunterVacancy) { var hhEmployer = new HeadHunterEmployer { Name = headHunterVacancy.Employer.Name, Id = headHunterVacancy.Employer.Id, Url = headHunterVacancy.Url }; hhEmployer.Id ??= "-999"; var sourceEmployer = await _storageBroker.SelectSourceEmployerByIdAndTypeIdAsync(sourceType.Id, hhEmployer.Id) ?? await AddSourceEmployerAsync(sourceType, hhEmployer); return(sourceEmployer.Employer); }
private async Task <SourceEmployer> AddSourceEmployerAsync(SourceType sourceType, HeadHunterEmployer headHunterEmployer) { var employer = _storageBroker.SelectAllEmployers() .FirstOrDefault(item => item.Name.ToLower().Equals(headHunterEmployer.Name.ToLower())) ?? await AddEmployerAsync(headHunterEmployer); var sourceEmployer = new SourceEmployer { SourceId = headHunterEmployer.Id, EmployerId = employer.Id, SourceTypeId = sourceType.Id, Url = headHunterEmployer.Url }; sourceEmployer = await _storageBroker.InsertSourceEmployerAsync(sourceEmployer); return(sourceEmployer); }