use of org.motechproject.mots.dto.ModuleDto in project mots by motech-implementations.
the class ModuleMapper method updateModuleFromDto.
/**
* Update Module using data from DTO.
* @param moduleDto DTO with new data
* @param module Module to be updated
*/
private void updateModuleFromDto(ModuleDto moduleDto, Module module) {
List<UnitDto> unitDtos = moduleDto.getChildren();
List<Unit> units = module.getUnits();
List<Unit> updatedUnits = new ArrayList<>();
if (units == null) {
units = new ArrayList<>();
}
if (unitDtos != null && !unitDtos.isEmpty()) {
for (int i = 0; i < unitDtos.size(); i++) {
UnitDto unitDto = unitDtos.get(i);
Unit unit;
if (StringUtils.isBlank(unitDto.getId())) {
unit = new Unit();
} else {
unit = units.stream().filter(u -> u.getId().toString().equals(unitDto.getId())).findAny().orElseThrow(() -> new EntityNotFoundException("Cannot update module, because error occurred during unit list update"));
}
updateUnitFromDto(unitDto, unit);
unit.setAllowReplay(BooleanUtils.isTrue(unit.getAllowReplay()));
unit.setListOrder(i);
updatedUnits.add(unit);
}
}
updateFromDto(moduleDto, module);
module.setUnits(updatedUnits);
}
use of org.motechproject.mots.dto.ModuleDto in project mots by motech-implementations.
the class ModuleMapper method toDto.
/**
* Create new DTO with Course Module data.
* @param courseModule used to create DTO
* @return DTO with Course Module data
*/
public ModuleDto toDto(CourseModule courseModule) {
String treeId = "-v" + courseModule.getCourse().getVersion();
ModuleDto moduleDto = toDto(courseModule.getModule());
addTreeId(moduleDto, treeId);
moduleDto.setIvrId(courseModule.getIvrId());
moduleDto.setIvrName(courseModule.getIvrName());
return moduleDto;
}
use of org.motechproject.mots.dto.ModuleDto in project mots by motech-implementations.
the class ModuleMapper method updateCourseFromDto.
/**
* Update Course using data from DTO.
* @param courseDto DTO with new data
* @param course Course to be updated
*/
public void updateCourseFromDto(CourseDto courseDto, Course course) {
List<ModuleDto> moduleDtos = courseDto.getChildren();
List<CourseModule> courseModules = course.getCourseModules();
List<CourseModule> updatedCourseModules = new ArrayList<>();
if (courseModules == null) {
courseModules = new ArrayList<>();
}
if (moduleDtos != null && !moduleDtos.isEmpty()) {
for (int i = 0; i < moduleDtos.size(); i++) {
ModuleDto moduleDto = moduleDtos.get(i);
CourseModule courseModule;
if (StringUtils.isBlank(moduleDto.getId())) {
courseModule = new CourseModule(course, Module.initialize());
} else {
courseModule = courseModules.stream().filter(cm -> cm.getModule().getId().toString().equals(moduleDto.getId())).findAny().orElseThrow(() -> new EntityNotFoundException("Cannot update course, because error occurred during module list update"));
}
updateCourseModuleFromDto(moduleDto, courseModule);
courseModule.setListOrder(i);
updatedCourseModules.add(courseModule);
}
}
updateFromDto(courseDto, course);
course.setCourseModules(updatedCourseModules);
}
Aggregations