public HttpResponseMessage CreateSkillsOfAnApplicant(AllSkills allskills) { if (allskills.Id <= 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } SkillsOfAnApplicant skill = new SkillsOfAnApplicant(); foreach (var skillId in allskills.Skills) { skill.SkillsetsId = skillId; skill.ApplicantId = allskills.Id; m_db.SkillsOfAnApplicant.Add(skill); m_db.SaveChanges(); } float counter = 0; float MatchPassingScore = 0; IEnumerable <SkillsForTheJob> OneJobSkillset; var appSkills = m_db.SkillsOfAnApplicant.Where(a => a.ApplicantId == allskills.Id).ToList(); var jobs = (from job in m_db.SkillsForTheJob select job.JobId).Distinct().ToList(); JobToApplicant jobToApplicantObj = new JobToApplicant(); foreach (var job in jobs) { OneJobSkillset = m_db.SkillsForTheJob.Where(J => J.JobId == job).ToList(); MatchPassingScore = (OneJobSkillset.Count() * 60) / 100; foreach (var jobSkill in OneJobSkillset) { foreach (var appSkill in appSkills) { if (jobSkill.SkillsetsId == appSkill.SkillsetsId) { counter++; } } } counter = (counter * 100) / OneJobSkillset.Count(); Job Job = m_db.Jobs.SingleOrDefault(j => j.Id == job); User user = m_db.AllUsers.SingleOrDefault(u => u.Id == Job.UserId); jobToApplicantObj.UserId = user.Id; jobToApplicantObj.JobId = job; jobToApplicantObj.ApplicantId = allskills.Id; jobToApplicantObj.MatchPercent = counter; m_db.JobToApplicant.Add(jobToApplicantObj); m_db.SaveChanges(); counter = 0; } return(Request.CreateResponse(HttpStatusCode.OK, "Applicant skills added successfully")); }
public IHttpActionResult DeleteSkillsOfAnApplicant(long id) { SkillsOfAnApplicant skill = m_db.SkillsOfAnApplicant.Find(id); if (skill == null) { return(NotFound()); } m_db.SkillsOfAnApplicant.Remove(skill); m_db.SaveChanges(); return(Ok(skill)); }
public IHttpActionResult UpdateSkillsOfAnApplicant(SkillsOfAnApplicant sk) { if (!validationIsOk(sk)) { return(BadRequest()); } SkillsOfAnApplicant skill = m_db.SkillsOfAnApplicant.Find(sk.Id); if (skill == null) { return(NotFound()); } skill.ApplicantId = sk.ApplicantId; skill.SkillsetsId = sk.SkillsetsId; m_db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
// simple validation bool validationIsOk(SkillsOfAnApplicant Skill) { return(Skill.SkillsetsId != 0 && Skill.ApplicantId != 0); }