Exemple #1
0
        private async Task <Employer> AddEmployerAsync(HeadHunterEmployer headHunterEmployer)
        {
            var employer = new Employer
            {
                Name = headHunterEmployer.Name
            };

            return(await _storageBroker.InsertEmployerAsync(employer));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }