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 CreateJobToApplicant(JobToApplicant jobToApplicant) { if (validationIsOk(jobToApplicant)) { return(BadRequest()); } m_db.JobToApplicant.Add(jobToApplicant); m_db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = jobToApplicant.Id }, jobToApplicant)); }
public IHttpActionResult DeleteJobToApplicant(long id) { JobToApplicant jobToApplicant = m_db.JobToApplicant.Find(id); if (jobToApplicant == null) { return(NotFound()); } m_db.JobToApplicant.Remove(jobToApplicant); m_db.SaveChanges(); return(Ok(jobToApplicant)); }
public IHttpActionResult UpdateJobToApplicant(JobToApplicant jToA) { if (validationIsOk(jToA)) { return(BadRequest()); } JobToApplicant jobToApplicant = m_db.JobToApplicant.Find(jToA.Id); if (jobToApplicant == null) { return(NotFound()); } jobToApplicant.UserId = jToA.UserId; jobToApplicant.JobId = jToA.JobId; jobToApplicant.ApplicantId = jToA.ApplicantId; m_db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
//[HttpGet] //// GET /api/JobToApplicant/1 //public IHttpActionResult GetJobToApplicant(long id) //{ // JobToApplicant jobToApplicant = m_db.JobToApplicant.SingleOrDefault(j => j.Id == id); // if (jobToApplicant == null) // { // return NotFound(); // } // return Ok(jobToApplicant); //} // simple validation bool validationIsOk(JobToApplicant jobToApplicant) { return(jobToApplicant.JobId == 0 || jobToApplicant.ApplicantId == 0 || jobToApplicant.UserId == 0); }