package org.egl_cepgl.pm.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.egl_cepgl.pm.model.Procurement;

import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

@Data
@Builder
public class ProcurementCandidateDto
{
    private ProcurementDto procurement;

    private Set<ApplicantDto> applicants;

    private Set<EnterpriseDto> enterprises;

    public static ProcurementCandidateDto fromEntity(Procurement obj)
    {
        if(obj == null){
            return null;
        }
        return ProcurementCandidateDto.builder()
                .procurement(ProcurementDto.fromEntity(obj))
                .applicants(obj.getApplicants().stream().map(ApplicantDto::fromEntity).collect(Collectors.toSet()))
                .enterprises(obj.getEnterprises().stream().map(EnterpriseDto::fromEntity).collect(Collectors.toSet()))
                .build();
    }
}
