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

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

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

    @Override
    public MdTablespaces getEntidad(MdTablespacesDTO mdTablespaces) {
        if ( mdTablespaces == null ) {
            return null;
        }

        MdTablespaces mdTablespaces1 = new MdTablespaces();

        mdTablespaces1.setSchemaIdFk( mdTablespacesDTOToMdSchemas( mdTablespaces ) );
        if ( mdTablespaces.getId() != null ) {
            mdTablespaces1.setId( BigDecimal.valueOf( mdTablespaces.getId() ) );
        }
        mdTablespaces1.setTablespaceName( mdTablespaces.getTablespaceName() );
        mdTablespaces1.setNativeSql( mdTablespaces.getNativeSql() );
        mdTablespaces1.setNativeKey( mdTablespaces.getNativeKey() );
        mdTablespaces1.setComments( mdTablespaces.getComments() );
        if ( mdTablespaces.getSecurityGroupId() != null ) {
            mdTablespaces1.setSecurityGroupId( BigInteger.valueOf( mdTablespaces.getSecurityGroupId() ) );
        }
        mdTablespaces1.setCreatedOn( mdTablespaces.getCreatedOn() );
        mdTablespaces1.setCreatedBy( mdTablespaces.getCreatedBy() );
        mdTablespaces1.setLastUpdatedOn( mdTablespaces.getLastUpdatedOn() );
        mdTablespaces1.setLastUpdatedBy( mdTablespaces.getLastUpdatedBy() );

        return mdTablespaces1;
    }

    @Override
    public MdTablespacesDTO getDto(MdTablespaces mdTablespaces) {
        if ( mdTablespaces == null ) {
            return null;
        }

        MdTablespacesDTO mdTablespacesDTO = new MdTablespacesDTO();

        BigDecimal id = mdTablespacesSchemaIdFkId( mdTablespaces );
        if ( id != null ) {
            mdTablespacesDTO.setSchemaIdFk( id.intValue() );
        }
        if ( mdTablespaces.getId() != null ) {
            mdTablespacesDTO.setId( mdTablespaces.getId().intValue() );
        }
        mdTablespacesDTO.setTablespaceName( mdTablespaces.getTablespaceName() );
        mdTablespacesDTO.setNativeSql( mdTablespaces.getNativeSql() );
        mdTablespacesDTO.setNativeKey( mdTablespaces.getNativeKey() );
        mdTablespacesDTO.setComments( mdTablespaces.getComments() );
        if ( mdTablespaces.getSecurityGroupId() != null ) {
            mdTablespacesDTO.setSecurityGroupId( mdTablespaces.getSecurityGroupId().intValue() );
        }
        mdTablespacesDTO.setCreatedOn( mdTablespaces.getCreatedOn() );
        mdTablespacesDTO.setCreatedBy( mdTablespaces.getCreatedBy() );
        mdTablespacesDTO.setLastUpdatedOn( mdTablespaces.getLastUpdatedOn() );
        mdTablespacesDTO.setLastUpdatedBy( mdTablespaces.getLastUpdatedBy() );

        return mdTablespacesDTO;
    }

    protected MdSchemas mdTablespacesDTOToMdSchemas(MdTablespacesDTO mdTablespacesDTO) {
        if ( mdTablespacesDTO == null ) {
            return null;
        }

        MdSchemas mdSchemas = new MdSchemas();

        if ( mdTablespacesDTO.getSchemaIdFk() != null ) {
            mdSchemas.setId( BigDecimal.valueOf( mdTablespacesDTO.getSchemaIdFk() ) );
        }

        return mdSchemas;
    }

    private BigDecimal mdTablespacesSchemaIdFkId(MdTablespaces mdTablespaces) {
        if ( mdTablespaces == null ) {
            return null;
        }
        MdSchemas schemaIdFk = mdTablespaces.getSchemaIdFk();
        if ( schemaIdFk == null ) {
            return null;
        }
        BigDecimal id = schemaIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
