package com.eksad.masterdata.domain.assembler; import com.eksad.ddms.common.dto.CreationalSpecificationDTO; import com.eksad.ddms.common.util.object.IObjectAssembler; import com.eksad.masterdata.common.dto.PromoWorkOrderDetailDTO; import com.eksad.masterdata.domain.workorder.PromoWorkOrderDetail; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class PromoWorkOrderDetailAssembler implements IObjectAssembler<PromoWorkOrderDetail, PromoWorkOrderDetailDTO> { @Override public PromoWorkOrderDetailDTO toDTO(PromoWorkOrderDetail domainObject) { PromoWorkOrderDetailDTO dto = new PromoWorkOrderDetailDTO(); dto.setPromoWoID(domainObject.getPromoWoID()); dto.setWoID(domainObject.getWoID()); dto.setAhassID(domainObject.getAhassID()); dto.setType(domainObject.getType()); dto.setReferenceID(domainObject.getReferenceID()); dto.setValue(domainObject.getValue()); dto.setStatus(domainObject.getStatus()); dto.setIsManualPromo(domainObject.getIsManualPromo()); dto.setPromoWoDetailCreationalDTO(domainObject.getPromoWoDetailCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getPromoWoDetailCreational())); return dto; } @Override public PromoWorkOrderDetail toDomain(PromoWorkOrderDetailDTO dtoObject) { PromoWorkOrderDetail data = new PromoWorkOrderDetail(); data.setPromoWoID(dtoObject.getPromoWoID()); data.setWoID(dtoObject.getWoID()); data.setAhassID(dtoObject.getAhassID()); data.setType(dtoObject.getType()); data.setReferenceID(dtoObject.getReferenceID()); data.setValue(dtoObject.getValue()); data.setStatus(dtoObject.getStatus()); data.setIsManualPromo(dtoObject.getIsManualPromo()); data.setPromoWoDetailCreational(dtoObject.getPromoWoDetailCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getPromoWoDetailCreationalDTO())); return data; } public List<PromoWorkOrderDetailDTO> toDTOs(Set<PromoWorkOrderDetail> arg0) { List<PromoWorkOrderDetailDTO> res = new ArrayList<>(); arg0.stream().forEach((o) -> { res.add(toDTO(o)); }); return res; } public List<PromoWorkOrderDetailDTO> toDTOs(List<PromoWorkOrderDetail> arg0) { List<PromoWorkOrderDetailDTO> res = new ArrayList<>(); arg0.stream().forEach((o) -> { res.add(toDTO(o)); }); return res; } public Set<PromoWorkOrderDetail> toDomains(List<PromoWorkOrderDetailDTO> arg0) { Set<PromoWorkOrderDetail> res = new HashSet<>(); arg0.stream().forEach((o) -> { res.add(toDomain(o)); }); return res; } }