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);
         }
     }
 }
Example #2
0
        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();
        }