PromoAhassAssembler.java 2.26 KB
Newer Older
akbar fauzi's avatar
akbar fauzi committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
package com.eksad.masterdata.domain.assembler;

import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.dto.PromoAhassDTO;
import com.eksad.masterdata.domain.CreationalSpecification;
import com.eksad.masterdata.domain.PromoAhass;

import java.util.*;

public class PromoAhassAssembler implements IObjectAssembler<PromoAhass, PromoAhassDTO> {

    @Override
    public PromoAhassDTO toDTO(PromoAhass x) {
        return new PromoAhassDTO(
                x.getPromoAhassID(),
                x.getAhassID(),
                x.getAhassName(),
                x.getPromoID(),
                x.getPromoAhassStatus(),
                x.getSource(),
                x.getPromoAhassCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(x.getPromoAhassCreational())
        );
    }

    @Override
    public PromoAhass toDomain(PromoAhassDTO y) {
        return new PromoAhass(
                UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
                y.getAhassID(),
                y.getAhassName(),
                y.getPromoID(),
                y.getPromoAhassStatus(),
                y.getSource(),
                y.getPromoAhassCreationalDTO() == null ? new CreationalSpecification() : new CreationalSpecificationDTOAssembler().toDomain(y.getPromoAhassCreationalDTO())
        );
    }

    public List<PromoAhassDTO> toDTOs(Set<PromoAhass> arg0) {
        List<PromoAhassDTO> res = new ArrayList<>();
        arg0.stream().filter(o -> DataStatus.ACTIVE.equals(o.getPromoAhassStatus())).forEach((o) -> {
            res.add(toDTO(o));
        });
        return res;
    }

    public List<PromoAhassDTO> toDTOs(List<PromoAhass> arg0) {
        List<PromoAhassDTO> res = new ArrayList<>();
        arg0.stream().filter(o -> DataStatus.ACTIVE.equals(o.getPromoAhassStatus())).forEach((o) -> {
            res.add(toDTO(o));
        });
        return res;
    }

    public Set<PromoAhass> toDomains(List<PromoAhassDTO> arg0) {
        Set<PromoAhass> res = new HashSet<>();
        arg0.stream().forEach((o) -> {
            res.add(toDomain(o));
        });
        return res;
    }
}