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

import com.qsoft.rs.sincoar.dto.MdIndexesDTO;
import com.qsoft.rs.sincoar.model.MdIndexes;
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:48-0500",
    comments = "version: 1.5.2.Final, compiler: javac, environment: Java 17.0.4 (Private Build)"
)
public class MdIndexesMapperImpl implements MdIndexesMapper {

    @Override
    public MdIndexes getEntidad(MdIndexesDTO mdIndexes) {
        if ( mdIndexes == null ) {
            return null;
        }

        MdIndexes mdIndexes1 = new MdIndexes();

        mdIndexes1.setTableIdFk( mdIndexesDTOToMdTables( mdIndexes ) );
        if ( mdIndexes.getId() != null ) {
            mdIndexes1.setId( BigDecimal.valueOf( mdIndexes.getId() ) );
        }
        mdIndexes1.setIndexType( mdIndexes.getIndexType() );
        mdIndexes1.setIndexName( mdIndexes.getIndexName() );
        mdIndexes1.setNativeSql( mdIndexes.getNativeSql() );
        mdIndexes1.setNativeKey( mdIndexes.getNativeKey() );
        mdIndexes1.setComments( mdIndexes.getComments() );
        if ( mdIndexes.getSecurityGroupId() != null ) {
            mdIndexes1.setSecurityGroupId( BigInteger.valueOf( mdIndexes.getSecurityGroupId() ) );
        }
        mdIndexes1.setCreatedOn( mdIndexes.getCreatedOn() );
        mdIndexes1.setCreatedBy( mdIndexes.getCreatedBy() );
        mdIndexes1.setLastUpdatedOn( mdIndexes.getLastUpdatedOn() );
        mdIndexes1.setLastUpdatedBy( mdIndexes.getLastUpdatedBy() );

        validaNulos( mdIndexes, mdIndexes1 );

        return mdIndexes1;
    }

    @Override
    public MdIndexesDTO getDto(MdIndexes mdIndexes) {
        if ( mdIndexes == null ) {
            return null;
        }

        MdIndexesDTO mdIndexesDTO = new MdIndexesDTO();

        BigDecimal id = mdIndexesTableIdFkId( mdIndexes );
        if ( id != null ) {
            mdIndexesDTO.setTableIdFk( id.intValue() );
        }
        if ( mdIndexes.getId() != null ) {
            mdIndexesDTO.setId( mdIndexes.getId().intValue() );
        }
        mdIndexesDTO.setIndexType( mdIndexes.getIndexType() );
        mdIndexesDTO.setIndexName( mdIndexes.getIndexName() );
        mdIndexesDTO.setNativeSql( mdIndexes.getNativeSql() );
        mdIndexesDTO.setNativeKey( mdIndexes.getNativeKey() );
        mdIndexesDTO.setComments( mdIndexes.getComments() );
        if ( mdIndexes.getSecurityGroupId() != null ) {
            mdIndexesDTO.setSecurityGroupId( mdIndexes.getSecurityGroupId().intValue() );
        }
        mdIndexesDTO.setCreatedOn( mdIndexes.getCreatedOn() );
        mdIndexesDTO.setCreatedBy( mdIndexes.getCreatedBy() );
        mdIndexesDTO.setLastUpdatedOn( mdIndexes.getLastUpdatedOn() );
        mdIndexesDTO.setLastUpdatedBy( mdIndexes.getLastUpdatedBy() );

        return mdIndexesDTO;
    }

    protected MdTables mdIndexesDTOToMdTables(MdIndexesDTO mdIndexesDTO) {
        if ( mdIndexesDTO == null ) {
            return null;
        }

        MdTables mdTables = new MdTables();

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

        return mdTables;
    }

    private BigDecimal mdIndexesTableIdFkId(MdIndexes mdIndexes) {
        if ( mdIndexes == null ) {
            return null;
        }
        MdTables tableIdFk = mdIndexes.getTableIdFk();
        if ( tableIdFk == null ) {
            return null;
        }
        BigDecimal id = tableIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
