package org.egl_cepgl.pm.dto;

import lombok.Builder;
import lombok.Data;
import org.egl_cepgl.pm.model.Cabinet;

import java.util.List;
import java.util.stream.Collectors;

@Data
@Builder
public class CabinetDto
{
    private Long id;

    private String namep;

    private String email;

    private String phone;

    private String address;

    private CountryDto country;

    private CabinetQualificationDto qualification;

    private Integer experience;

    private List<FileDto> files;

    private Boolean status;

    public static CabinetDto fromEntity(Cabinet obj)
    {
        if(obj == null){
            return null;
        }
        return CabinetDto.builder()
                .id(obj.getId())
                .email(obj.getEmail())
                .namep(obj.getNamep())
                .phone(obj.getPhone())
                .address(obj.getAddress())
                .country(CountryDto.fromEntity(obj.getCountry()))
                .experience(obj.getExperience())
                .qualification(CabinetQualificationDto.fromEntity(obj.getQualification()))
                .files(obj.getFiles().stream().map(FileDto::fromEntity).collect(Collectors.toList()))
                .status(obj.getStatus())
                .build();
    }
}
