use of org.c4sg.entity.Project in project c4sg-services by Code4SocialGood.
the class ApplicationServiceImpl method createApplication.
@Override
public ApplicationDTO createApplication(ApplicationDTO applicationDto) {
validateApplication(applicationDto);
User user = userDAO.findById(applicationDto.getUserId());
Project project = projectDAO.findById(applicationDto.getProjectId());
Application application = applicationDAO.findByUser_IdAndProject_Id(applicationDto.getUserId(), applicationDto.getProjectId());
if (java.util.Objects.nonNull(application)) {
isApplied(application, applicationDto.getStatus());
}
application = new Application();
application.setUser(user);
application.setProject(project);
application.setStatus(applicationDto.getStatus());
application.setComment(applicationDto.getComment());
application.setResumeFlag(booleanToStringConverter.convert(applicationDto.getResumeFlag()));
application.setAppliedTime(applicationDto.getAppliedTime());
application.setCreatedTime(new Timestamp(Calendar.getInstance().getTime().getTime()));
// application.setAppliedTime(new Timestamp(Calendar.getInstance().getTime().getTime()));
applicationDAO.save(application);
sendEmail(user, project, application);
return applicationMapper.getApplicationDtoFromEntity(application);
}
use of org.c4sg.entity.Project in project c4sg-services by Code4SocialGood.
the class ApplicationServiceImpl method validateApplication.
private void validateApplication(ApplicationDTO application) {
User user = userDAO.findById(application.getUserId());
requireNonNull(user, "Invalid User Id");
Project project = projectDAO.findById(application.getProjectId());
requireNonNull(project, "Invalid Project Id");
if (application.getStatus() == null || (!application.getStatus().equals("A") && !application.getStatus().equals("C") && !application.getStatus().equals("D"))) {
throw new BadRequestException("Invalid Project Status");
}
}
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);
}
Aggregations