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

import com.qsoft.rs.sincoar.dto.MdSchemasDTO;
import com.qsoft.rs.sincoar.model.MdCatalogs;
import com.qsoft.rs.sincoar.model.MdSchemas;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.annotation.processing.Generated;

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

    @Override
    public MdSchemas getEntidad(MdSchemasDTO mdSchemas) {
        if ( mdSchemas == null ) {
            return null;
        }

        MdSchemas mdSchemas1 = new MdSchemas();

        mdSchemas1.setCatalogIdFk( mdSchemasDTOToMdCatalogs( mdSchemas ) );
        if ( mdSchemas.getId() != null ) {
            mdSchemas1.setId( BigDecimal.valueOf( mdSchemas.getId() ) );
        }
        mdSchemas1.setName( mdSchemas.getName() );
        mdSchemas1.setType( mdSchemas.getType() );
        mdSchemas1.setCharacterSet( mdSchemas.getCharacterSet() );
        mdSchemas1.setVersionTag( mdSchemas.getVersionTag() );
        mdSchemas1.setNativeSql( mdSchemas.getNativeSql() );
        mdSchemas1.setNativeKey( mdSchemas.getNativeKey() );
        mdSchemas1.setComments( mdSchemas.getComments() );
        if ( mdSchemas.getSecurityGroupId() != null ) {
            mdSchemas1.setSecurityGroupId( BigInteger.valueOf( mdSchemas.getSecurityGroupId() ) );
        }
        mdSchemas1.setCreatedOn( mdSchemas.getCreatedOn() );
        mdSchemas1.setCreatedBy( mdSchemas.getCreatedBy() );
        mdSchemas1.setLastUpdatedOn( mdSchemas.getLastUpdatedOn() );
        mdSchemas1.setLastUpdatedBy( mdSchemas.getLastUpdatedBy() );

        return mdSchemas1;
    }

    @Override
    public MdSchemasDTO getDto(MdSchemas mdSchemas) {
        if ( mdSchemas == null ) {
            return null;
        }

        MdSchemasDTO mdSchemasDTO = new MdSchemasDTO();

        BigDecimal id = mdSchemasCatalogIdFkId( mdSchemas );
        if ( id != null ) {
            mdSchemasDTO.setCatalogIdFk( id.intValue() );
        }
        if ( mdSchemas.getId() != null ) {
            mdSchemasDTO.setId( mdSchemas.getId().intValue() );
        }
        mdSchemasDTO.setName( mdSchemas.getName() );
        mdSchemasDTO.setType( mdSchemas.getType() );
        mdSchemasDTO.setCharacterSet( mdSchemas.getCharacterSet() );
        mdSchemasDTO.setVersionTag( mdSchemas.getVersionTag() );
        mdSchemasDTO.setNativeSql( mdSchemas.getNativeSql() );
        mdSchemasDTO.setNativeKey( mdSchemas.getNativeKey() );
        mdSchemasDTO.setComments( mdSchemas.getComments() );
        if ( mdSchemas.getSecurityGroupId() != null ) {
            mdSchemasDTO.setSecurityGroupId( mdSchemas.getSecurityGroupId().intValue() );
        }
        mdSchemasDTO.setCreatedOn( mdSchemas.getCreatedOn() );
        mdSchemasDTO.setCreatedBy( mdSchemas.getCreatedBy() );
        mdSchemasDTO.setLastUpdatedOn( mdSchemas.getLastUpdatedOn() );
        mdSchemasDTO.setLastUpdatedBy( mdSchemas.getLastUpdatedBy() );

        return mdSchemasDTO;
    }

    protected MdCatalogs mdSchemasDTOToMdCatalogs(MdSchemasDTO mdSchemasDTO) {
        if ( mdSchemasDTO == null ) {
            return null;
        }

        MdCatalogs mdCatalogs = new MdCatalogs();

        if ( mdSchemasDTO.getCatalogIdFk() != null ) {
            mdCatalogs.setId( BigDecimal.valueOf( mdSchemasDTO.getCatalogIdFk() ) );
        }

        return mdCatalogs;
    }

    private BigDecimal mdSchemasCatalogIdFkId(MdSchemas mdSchemas) {
        if ( mdSchemas == null ) {
            return null;
        }
        MdCatalogs catalogIdFk = mdSchemas.getCatalogIdFk();
        if ( catalogIdFk == null ) {
            return null;
        }
        BigDecimal id = catalogIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
