private void HandleCustomSkillChange(SkillsEditModelBase m, IList <string> baseSkillList, IList <string> customSkillList) { if (m.IsAddingCustomSkill) { // If the user has tried to add a custom skill that exists in the default skills list. if (CandidateSkills.Contains(m.AddCustomSkillName) && !baseSkillList.Contains(m.AddCustomSkillName)) { baseSkillList.Add(m.AddCustomSkillName); } else if (!CandidateSkills.Contains(m.AddCustomSkillName) && !customSkillList.Contains(m.AddCustomSkillName)) { customSkillList.Add(m.AddCustomSkillName); } } }
public void SetVacancyFromEditModel_ShouldOrderVacancySkills() { var helper = new SkillsOrchestratorHelper(GetBaseSkills); var vacancy = new Vacancy { Skills = new List <string> { "Team worker" } }; var m = new SkillsEditModelBase { Skills = new List <string> { "1-Custom Skill 2", "Initiative", "Problem solving skills", "2-Custom Skill 1", "Administrative skills", "Communication skills" }, AddCustomSkillAction = "add custom skill", AddCustomSkillName = "Added Custom Skill" }; helper.SetVacancyFromEditModel(vacancy, m); m.Skills.Count.Should().Be(7); m.Skills[0].Should().Be("Initiative"); m.Skills[1].Should().Be("Problem solving skills"); m.Skills[2].Should().Be("Administrative skills"); m.Skills[3].Should().Be("Communication skills"); m.Skills[4].Should().Be("1-Custom Skill 2"); m.Skills[5].Should().Be("2-Custom Skill 1"); m.Skills[6].Should().Be("3-Added Custom Skill"); vacancy.Skills.Count.Should().Be(7); vacancy.Skills[0].Should().Be("Initiative"); vacancy.Skills[1].Should().Be("Problem solving skills"); vacancy.Skills[2].Should().Be("Administrative skills"); vacancy.Skills[3].Should().Be("Communication skills"); vacancy.Skills[4].Should().Be("Custom Skill 2"); vacancy.Skills[5].Should().Be("Custom Skill 1"); vacancy.Skills[6].Should().Be("Added Custom Skill"); }
public void SetVacancyFromEditModel(Vacancy vacancy, SkillsEditModelBase m) { if (m.Skills == null) { m.Skills = new List <string>(); } var baseSkills = GetBaseSkills(m.Skills).ToList(); var customSkills = GetCustomSkills(m.Skills); var sortedCustomSkills = ExtractAndSort(customSkills.ToArray()).ToList(); HandleCustomSkillChange(m, baseSkills, sortedCustomSkills); vacancy.Skills = baseSkills.Union(sortedCustomSkills).ToList(); // Adding in the ordering of the custom skill entries m.Skills = baseSkills.Union(AddOrdering(sortedCustomSkills)).ToList(); }