package com.qsoft.rs.sincoar.dominio.mapper;

import com.qsoft.rs.sincoar.dto.MdColumnsDTO;
import com.qsoft.rs.sincoar.model.MdColumns;
import com.qsoft.rs.sincoar.model.MdTables;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.annotation.processing.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2022-09-02T16:14:47-0500",
    comments = "version: 1.5.2.Final, compiler: javac, environment: Java 17.0.4 (Private Build)"
)
public class MdColumnsMapperImpl implements MdColumnsMapper {

    @Override
    public MdColumns getEntidad(MdColumnsDTO mdColumns) {
        if ( mdColumns == null ) {
            return null;
        }

        MdColumns mdColumns1 = new MdColumns();

        mdColumns1.setTableIdFk( mdColumnsDTOToMdTables( mdColumns ) );
        if ( mdColumns.getId() != null ) {
            mdColumns1.setId( BigDecimal.valueOf( mdColumns.getId() ) );
        }
        mdColumns1.setColumnName( mdColumns.getColumnName() );
        if ( mdColumns.getColumnOrder() != null ) {
            mdColumns1.setColumnOrder( BigInteger.valueOf( mdColumns.getColumnOrder() ) );
        }
        mdColumns1.setColumnType( mdColumns.getColumnType() );
        if ( mdColumns.getPrecision() != null ) {
            mdColumns1.setPrecision( BigInteger.valueOf( mdColumns.getPrecision() ) );
        }
        if ( mdColumns.getScale() != null ) {
            mdColumns1.setScale( BigInteger.valueOf( mdColumns.getScale() ) );
        }
        mdColumns1.setNullable( mdColumns.getNullable() );
        mdColumns1.setDefaultValue( mdColumns.getDefaultValue() );
        mdColumns1.setNativeSql( mdColumns.getNativeSql() );
        mdColumns1.setNativeKey( mdColumns.getNativeKey() );
        mdColumns1.setDatatypeTransformedFlag( mdColumns.getDatatypeTransformedFlag() );
        mdColumns1.setComments( mdColumns.getComments() );
        if ( mdColumns.getSecurityGroupId() != null ) {
            mdColumns1.setSecurityGroupId( BigInteger.valueOf( mdColumns.getSecurityGroupId() ) );
        }
        mdColumns1.setCreatedBy( mdColumns.getCreatedBy() );
        mdColumns1.setCreatedOn( mdColumns.getCreatedOn() );
        mdColumns1.setLastUpdatedBy( mdColumns.getLastUpdatedBy() );
        mdColumns1.setLastUpdatedOn( mdColumns.getLastUpdatedOn() );

        validaNulos( mdColumns, mdColumns1 );

        return mdColumns1;
    }

    @Override
    public MdColumnsDTO getDto(MdColumns mdColumns) {
        if ( mdColumns == null ) {
            return null;
        }

        MdColumnsDTO mdColumnsDTO = new MdColumnsDTO();

        BigDecimal id = mdColumnsTableIdFkId( mdColumns );
        if ( id != null ) {
            mdColumnsDTO.setTableIdFk( id.intValue() );
        }
        if ( mdColumns.getId() != null ) {
            mdColumnsDTO.setId( mdColumns.getId().intValue() );
        }
        mdColumnsDTO.setColumnName( mdColumns.getColumnName() );
        if ( mdColumns.getColumnOrder() != null ) {
            mdColumnsDTO.setColumnOrder( mdColumns.getColumnOrder().intValue() );
        }
        mdColumnsDTO.setColumnType( mdColumns.getColumnType() );
        if ( mdColumns.getPrecision() != null ) {
            mdColumnsDTO.setPrecision( mdColumns.getPrecision().intValue() );
        }
        if ( mdColumns.getScale() != null ) {
            mdColumnsDTO.setScale( mdColumns.getScale().intValue() );
        }
        mdColumnsDTO.setNullable( mdColumns.getNullable() );
        mdColumnsDTO.setDefaultValue( mdColumns.getDefaultValue() );
        mdColumnsDTO.setNativeSql( mdColumns.getNativeSql() );
        mdColumnsDTO.setNativeKey( mdColumns.getNativeKey() );
        mdColumnsDTO.setDatatypeTransformedFlag( mdColumns.getDatatypeTransformedFlag() );
        mdColumnsDTO.setComments( mdColumns.getComments() );
        if ( mdColumns.getSecurityGroupId() != null ) {
            mdColumnsDTO.setSecurityGroupId( mdColumns.getSecurityGroupId().intValue() );
        }
        mdColumnsDTO.setCreatedBy( mdColumns.getCreatedBy() );
        mdColumnsDTO.setCreatedOn( mdColumns.getCreatedOn() );
        mdColumnsDTO.setLastUpdatedBy( mdColumns.getLastUpdatedBy() );
        mdColumnsDTO.setLastUpdatedOn( mdColumns.getLastUpdatedOn() );

        return mdColumnsDTO;
    }

    protected MdTables mdColumnsDTOToMdTables(MdColumnsDTO mdColumnsDTO) {
        if ( mdColumnsDTO == null ) {
            return null;
        }

        MdTables mdTables = new MdTables();

        if ( mdColumnsDTO.getTableIdFk() != null ) {
            mdTables.setId( BigDecimal.valueOf( mdColumnsDTO.getTableIdFk() ) );
        }

        return mdTables;
    }

    private BigDecimal mdColumnsTableIdFkId(MdColumns mdColumns) {
        if ( mdColumns == null ) {
            return null;
        }
        MdTables tableIdFk = mdColumns.getTableIdFk();
        if ( tableIdFk == null ) {
            return null;
        }
        BigDecimal id = tableIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
