Example #1
0
        private async Task <List <VacancySkill> > CreateVacancySkillsAsync(Vacancy vacancy,
                                                                           List <HeadHunterSkill> keySkills)
        {
            if (keySkills == null || keySkills.Count == 0)
            {
                return(new List <VacancySkill>());
            }

            var vacancySkills = new List <VacancySkill>();

            foreach (var headHunterSkill in keySkills)
            {
                if (string.IsNullOrEmpty(headHunterSkill.Name))
                {
                    continue;
                }
                var skill = await GetOrCreateSkillAsync(headHunterSkill.Name);

                var vacancySkill = new VacancySkill {
                    VacancyId = vacancy.Id, SkillId = skill.Id
                };
                vacancySkills.Add(vacancySkill);
            }

            return(vacancySkills);
        }
        public async Task <VacancySkill> DeleteVacancySkillsAsync(VacancySkill vacancySkill)
        {
            var skillVacancyEntry = VacancySkills.Remove(vacancySkill);

            await SaveChangesAsync();

            return(skillVacancyEntry.Entity);
        }
        public async Task <VacancySkill> InsertVacancySkillsAsync(VacancySkill vacancySkill)
        {
            var existed = await SelectVacancySkillsByIdAsync(vacancySkill.SkillId, vacancySkill.VacancyId);

            if (existed != null)
            {
                return(existed);
            }
            var skillVacancyEntry = await VacancySkills.AddAsync(vacancySkill);

            await SaveChangesAsync();

            return(skillVacancyEntry.Entity);
        }