Esempio n. 1
0
 public static CandidateJobScoreViewModel ToViewModel(this CandidateJobScore candidateJobScore)
 {
     if (candidateJobScore == null)
     {
         return(null);
     }
     return(new CandidateJobScoreViewModel
     {
         CandidateId = candidateJobScore.Candidate.CandidateId,
         Name = candidateJobScore.Candidate.Name,
         Score = candidateJobScore.Score,
         SkillTags = candidateJobScore.Candidate.SkillTags
     });
 }
        public CandidateJobScore CalculateCandidateScore(Candidate candidate, Job job)
        {
            var result = new CandidateJobScore(candidate, job);

            var weightedSkillcandidate =
                CandidateSkillWeights.FirstOrDefault(x => x.Candidate.CandidateId == candidate.CandidateId);
            var weightedSkillJob = JobSkillWeights.FirstOrDefault(x => x.Job.JobId == job.JobId);

            if (weightedSkillcandidate != null && weightedSkillJob != null)
            {
                foreach (var requireSkill in weightedSkillJob.SkillWeights.Keys)
                {
                    if (weightedSkillcandidate.SkillWeights.ContainsKey(requireSkill))
                    {
                        result.Score += weightedSkillJob.SkillWeights[requireSkill] * weightedSkillcandidate.SkillWeights[requireSkill];
                    }
                }
            }
            return(result);
        }