protected void OnKnowFuncFamItemChanged(object sender, EventArgs e) { string family = (string)((RadComboBox)sender).SelectedValue; if (lblKnowFuncDestination.Text == ResourceManager.GetString("lblCanFunctionGrid")) { listKnowFuncOriginal.DataTextField = "Code"; listKnowFuncOriginal.DataValueField = "FunctionID"; CandidateFunctionRepository repo = new CandidateFunctionRepository(); listKnowFuncOriginal.DataSource = repo.GetAllParamFunctionByFuntionFamID(family); listKnowFuncOriginal.DataBind(); } else { listKnowFuncOriginal.DataTextField = "Code"; listKnowFuncOriginal.DataValueField = "KnowledgeID"; CandidateKnowledgeRepository repo = new CandidateKnowledgeRepository(); listKnowFuncOriginal.DataSource = repo.GetAllParamKnowledgeByKnowledgeFamID(family); listKnowFuncOriginal.DataBind(); } }
/// <summary> /// Save candidate knowledge and experience. /// </summary> /// <param name="candidate"></param> private void SaveCandidateKnowledgeFunction(Candidate candidate) { //With knowledge list. CandidateKnowledgeRepository candidateKnowRepo = new CandidateKnowledgeRepository(); IList<CandidateKnowledge> oldKnowledgeList = candidateKnowRepo.GetCandidateKnowledgeByCandidateID(candidate.CandidateId); foreach (CandidateKnowledge newItem in SessionManager.CanKnowledgeOldList) { bool isNew = true; foreach (CandidateKnowledge oldItem in oldKnowledgeList) { if (oldItem.KnowledgeID.Value == newItem.KnowledgeID.Value) { isNew = false; break; } } if (isNew) { newItem.CandidateID = candidate.CandidateId; candidateKnowRepo.Insert(newItem); } } foreach (CandidateKnowledge oldItem in oldKnowledgeList) { bool isDelete = true; foreach (CandidateKnowledge deleteItem in SessionManager.CanKnowledgeOldList) { if (deleteItem.KnowledgeID.Value == oldItem.KnowledgeID.Value) { isDelete = false; break; } } if (isDelete) candidateKnowRepo.Delete(oldItem); } //With Function list. CandidateFunctionRepository candidateFuncRepo = new CandidateFunctionRepository(); IList<CandidateFunction> oldFunctList = candidateFuncRepo.GetCandidateFunctionByCandidateID(candidate.CandidateId); foreach (CandidateFunction newIem in SessionManager.CanFunctionOldList) { bool isNew = true; foreach (CandidateFunction oldItem in oldFunctList) { if (oldItem.FunctionID.Value == newIem.FunctionID.Value) { isNew = false; break; } } if (isNew) { newIem.CandidateID = candidate.CandidateId; candidateFuncRepo.Insert(newIem); } } foreach (CandidateFunction oldItem in oldFunctList) { bool isDelete = true; foreach (CandidateFunction deleteItem in SessionManager.CanFunctionOldList) { if (deleteItem.FunctionID.Value == oldItem.FunctionID.Value) { isDelete = false; break; } } if (isDelete) candidateFuncRepo.Delete(oldItem); } }