Search in sources :

Example 1 with UserSkill

use of org.c4sg.entity.UserSkill in project c4sg-services by Code4SocialGood.

the class SkillServiceImpl method saveSkillsForUser.

@Override
public void saveSkillsForUser(Integer id, List<String> skillsList) {
    User user = userDAO.findById(id);
    requireNonNull(user, "User with id: " + id + " doesn't exist. Please provide a valid user id.");
    List<UserSkill> userSkills = new ArrayList<UserSkill>();
    List<Skill> skills = new ArrayList<Skill>();
    requireNonNull(skillsList, "Please provide the skills in display order.");
    for (String skillName : skillsList) {
        UserSkill userSkill = new UserSkill();
        // user
        userSkill.setUser(user);
        Skill skill = skillDAO.findBySkillName(skillName);
        // user entered skills
        if (isNull(skill)) {
            skill = new Skill();
            skill.setSkillName(skillName);
            // new skill to add to Skill table
            skills.add(skill);
        }
        // skill
        userSkill.setSkill(skill);
        // displayOrder
        int displayOrder = skillsList.indexOf(skillName) + 1;
        userSkill.setDisplayOrder(displayOrder);
        userSkills.add(userSkill);
    }
    skillDAO.save(skills);
    userSkillDAO.deleteByUserId(id);
    userSkillDAO.save(userSkills);
}
Also used : Skill(org.c4sg.entity.Skill) ProjectSkill(org.c4sg.entity.ProjectSkill) UserSkill(org.c4sg.entity.UserSkill) User(org.c4sg.entity.User) UserSkill(org.c4sg.entity.UserSkill) ArrayList(java.util.ArrayList)

Aggregations

ArrayList (java.util.ArrayList)1 ProjectSkill (org.c4sg.entity.ProjectSkill)1 Skill (org.c4sg.entity.Skill)1 User (org.c4sg.entity.User)1 UserSkill (org.c4sg.entity.UserSkill)1