package org.egl_cepgl.pm.dto;

import lombok.Builder;
import lombok.Data;
import org.egl_cepgl.pm.model.Procurement;
import org.egl_cepgl.pm.model.ProcurementCategory;
import org.egl_cepgl.pm.model.Project;

import javax.persistence.Column;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Data
@Builder
public class ProCategoryDto
{
    private Long id;

    private String namep;

    private String description;

    private String code;

    private String parent_code;

    private ProjectDto project;

    public static ProCategoryDto fromEntity(ProcurementCategory obj)
    {
        if(obj == null){
            return null;
        }
        return ProCategoryDto.builder()
                .id(obj.getId())
                .namep(obj.getNamep())
                .code(obj.getCode())
                .parent_code(obj.getParent_code())
                .description(obj.getDescription())
                .project(ProjectDto.fromEntity(obj.getProject()))
                .build();
    }

    public static ProcurementCategory toEntity(ProCategoryDto dto){
        if(dto == null){
            return null;
        }
        ProcurementCategory obj= new ProcurementCategory();
        obj.setNamep(dto.getNamep());
        obj.setCode(dto.getCode());
        obj.setDescription(dto.getDescription());
        obj.setParent_code(dto.getParent_code());
        obj.setProject(ProjectDto.toEntity(dto.getProject()));
        return obj;
    }
}
