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.PaymentH2DTO; import com.eksad.masterdata.domain.Payment; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class PaymentAssembler implements IObjectAssembler<Payment, PaymentH2DTO> { @Override public PaymentH2DTO toDTO(Payment domainObject) { PaymentH2DTO dto = new PaymentH2DTO(); dto.setId(domainObject.getId()); dto.setPaymentID(domainObject.getPaymentID()); dto.setWoID(domainObject.getWoID()); dto.setPaymentMethod(domainObject.getPaymentMethod().toUpperCase()); dto.setPaymentStatus(domainObject.getPaymentStatus()); dto.setVoucherCode(domainObject.getVoucherCode()); dto.setJumlahPembayaran(domainObject.getJumlahPembayaran()); dto.setNoTransfer(domainObject.getNoTransfer()); dto.setNokartuKredit(domainObject.getNokartuKredit()); dto.setTerbilang(domainObject.getTerbilang()); dto.setPaymentDate(domainObject.getPaymentDate()); dto.setDateReport(domainObject.getDateReport()); dto.setAngka(domainObject.getAngka()); dto.setPresentase(domainObject.getPresentase()); dto.setTotalBayar(domainObject.getTotalBayar()); dto.setJumlahDiskon(domainObject.getJumlahDiskon()); dto.setPaymentCreationalDTO(domainObject.getPaymentCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getPaymentCreational())); dto.setListPromo(new PromoAssembler().toDTOs(domainObject.getListPromo())); dto.setNoKwitansi(domainObject.getNoKwitansi()); dto.setTotalBayarExcludeHO(domainObject.getTotalBayarExcludeHO()); dto.setJumlahPembayaranExcludeHO(domainObject.getJumlahPembayaranExcludeHO()); dto.setTandaJadi(domainObject.getTandaJadi()); dto.setJumlahDiskonEvoucher(domainObject.getJumlahDiskonEvoucher()); // dto.setKodePembayaranAHM(domainObject.getKodePembayaranAHM()); return dto; } @Override public Payment toDomain(PaymentH2DTO dtoObject) { Payment data = new Payment(); data.setPaymentID(dtoObject.getPaymentID()); data.setWoID(dtoObject.getWoID()); data.setPaymentMethod(dtoObject.getPaymentMethod().toUpperCase()); data.setPaymentStatus(dtoObject.getPaymentStatus()); data.setVoucherCode(dtoObject.getVoucherCode()); data.setJumlahPembayaran(dtoObject.getJumlahPembayaran()); data.setNoTransfer(dtoObject.getNoTransfer()); data.setNokartuKredit(dtoObject.getNokartuKredit()); data.setTerbilang(dtoObject.getTerbilang()); data.setPaymentDate(dtoObject.getPaymentDate()); data.setDateReport(dtoObject.getDateReport()); data.setAngka(dtoObject.getAngka()); data.setPresentase(dtoObject.getPresentase()); data.setTotalBayar(dtoObject.getTotalBayar()); data.setJumlahDiskon(dtoObject.getJumlahDiskon()); data.setNoKwitansi(dtoObject.getNoKwitansi()); data.setTotalBayarExcludeHO(dtoObject.getTotalBayarExcludeHO()); data.setJumlahPembayaranExcludeHO(dtoObject.getJumlahPembayaranExcludeHO()); data.setTandaJadi(dtoObject.getTandaJadi() == null ? 0d : dtoObject.getTandaJadi()); data.setPaymentCreational(dtoObject.getPaymentCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getPaymentCreationalDTO())); data.setJumlahDiskonEvoucher(dtoObject.getJumlahDiskonEvoucher()); // data.setKodePembayaranAHM(dtoObject.getKodePembayaranAHM()); return data; } public List<PaymentH2DTO> toDTOs(Set<Payment> arg0) { List<PaymentH2DTO> res = new ArrayList<>(); arg0.stream().forEach((o) -> { res.add(toDTO(o)); }); return res; } public List<PaymentH2DTO> toDTOs(List<Payment> arg0) { List<PaymentH2DTO> res = new ArrayList<>(); arg0.stream().forEach((o) -> { res.add(toDTO(o)); }); return res; } public Set<Payment> toDomains(List<PaymentH2DTO> arg0) { Set<Payment> res = new HashSet<>(); arg0.stream().forEach((o) -> { res.add(toDomain(o)); }); return res; } }