Search in sources :

Example 6 with Project

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

the class SkillServiceImpl method saveSkillsForProject.

@Override
public void saveSkillsForProject(Integer id, List<String> skillsList) {
    Project project = projectDAO.findById(id);
    requireNonNull(project, "Project with id: " + id + " doesn't exist. Please provide a valid project id.");
    List<ProjectSkill> projectSkills = new ArrayList<ProjectSkill>();
    List<Skill> skills = new ArrayList<Skill>();
    requireNonNull(skillsList, "Please provide the skills in display order.");
    for (String skillName : skillsList) {
        ProjectSkill projectSkill = new ProjectSkill();
        //project
        projectSkill.setProject(project);
        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
        projectSkill.setSkill(skill);
        int displayOrder = skillsList.indexOf(skillName) + 1;
        //displayOrder
        projectSkill.setDisplayOrder(displayOrder);
        projectSkills.add(projectSkill);
    }
    skillDAO.save(skills);
    projectSkillDAO.deleteByProjectId(id);
    projectSkillDAO.save(projectSkills);
}
Also used : Project(org.c4sg.entity.Project) Skill(org.c4sg.entity.Skill) ProjectSkill(org.c4sg.entity.ProjectSkill) UserSkill(org.c4sg.entity.UserSkill) ProjectSkill(org.c4sg.entity.ProjectSkill) ArrayList(java.util.ArrayList)

Aggregations

Project (org.c4sg.entity.Project)6 UserProject (org.c4sg.entity.UserProject)5 File (java.io.File)1 Timestamp (java.sql.Timestamp)1 ArrayList (java.util.ArrayList)1 Organization (org.c4sg.entity.Organization)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 BadRequestException (org.c4sg.exception.BadRequestException)1