// To add candidates. public int AddCandidateProfile(ICandidateProfile cand) { try { ICandidateDB objCandidateDB = CandidateDBFactory.Create_CandidateDB(); VacancyManager objvacancymanager = new VacancyManager(); if (filledstatus_50percent(cand.get_VacancyID) == false) { if (filledstatus_bydate(cand.get_VacancyID) == false) { objCandidateDB.save(cand); return(1); } else if ((filledstatus_bydate(cand.get_VacancyID) == true) && (filledstatus_20percent(cand.get_VacancyID) == true)) { objvacancymanager.updateStatus(cand.get_VacancyID, 2); return(3); } else { return(0); } } else if ((filledstatus_50percent(cand.get_VacancyID) == true) && (filledstatus_bydate(cand.get_VacancyID) == true)) { objvacancymanager.updateStatus(cand.get_VacancyID, 2); return(2); } else { return(0); } } catch (Exception EX) { Console.WriteLine(EX); return(0); } }
// To check whether given vacancy reached 150% candidates of required candidates public bool filledstatus_50percent(int VacancyID) { VacancyManager objVacancyManager = new VacancyManager(); List <ICandidateProfile> lstCandidateProfile = display_candidate_toPC(); int count = 0, CandidatesRequired = 0; for (int i = 0; i < lstCandidateProfile.Count; i++) { if (lstCandidateProfile.ElementAt(i).get_VacancyID == VacancyID) { count++; } } VacancyManager objVacancy = new VacancyManager(); List <IVacancy> lstVacancy = objVacancy.GetVacancy(); for (int i = 0; i < lstVacancy.Count; i++) { if (lstVacancy.ElementAt(i).get_VacancyID == VacancyID) { CandidatesRequired = lstVacancy.ElementAt(i).get_NoOfPositions; } } if (count >= 1.5 * (CandidatesRequired)) { objVacancyManager.updateStatus(VacancyID, 2); return(true); } else { return(false); } }