Пример #1
0
        public async Task <IEnumerable <VacancySummaryDTO> > GetVacanciesForCV(Guid CVId, int?page = 1, int?pageSize = 10)
        {
            CVforSearchDTO cv     = (await _uow.CVs.GetCVsAsync(cv => cv.Id == CVId, pageSize, page)).FirstOrDefault();
            var            result = (await _uow.Vacancies.GetAllAsync()).Where(v => MatchVacancyCV.Matches(v, cv) > 0);

            return(_mapper.Map <IEnumerable <Vacancy>, IEnumerable <VacancySummaryDTO> >(result));
        }
Пример #2
0
        public static int Matches(Vacancy vacancy, CVforSearchDTO cv)
        {
            var reqSkills = from v in vacancy.SkillRequirements
                            select v.Skill.Name;

            var cvSkills = from v in cv.SkillKnowledges
                           select v.SkillName;

            var result = reqSkills.Count() == 0 ? cvSkills.Count()
                : cvSkills.Intersect(reqSkills).Count();

            return(result);
        }