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

import com.qsoft.rs.sincoar.dto.MdStoredProgramsDTO;
import com.qsoft.rs.sincoar.model.MdPackages;
import com.qsoft.rs.sincoar.model.MdSchemas;
import com.qsoft.rs.sincoar.model.MdStoredPrograms;
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 MdStoredProgramsMapperImpl implements MdStoredProgramsMapper {

    @Override
    public MdStoredPrograms getEntidad(MdStoredProgramsDTO mdStoredPrograms) {
        if ( mdStoredPrograms == null ) {
            return null;
        }

        MdStoredPrograms mdStoredPrograms1 = new MdStoredPrograms();

        mdStoredPrograms1.setSchemaIdFk( mdStoredProgramsDTOToMdSchemas( mdStoredPrograms ) );
        mdStoredPrograms1.setPackageIdFk( mdStoredProgramsDTOToMdPackages( mdStoredPrograms ) );
        if ( mdStoredPrograms.getId() != null ) {
            mdStoredPrograms1.setId( BigDecimal.valueOf( mdStoredPrograms.getId() ) );
        }
        mdStoredPrograms1.setProgramtype( mdStoredPrograms.getProgramtype() );
        mdStoredPrograms1.setName( mdStoredPrograms.getName() );
        mdStoredPrograms1.setNativeSql( mdStoredPrograms.getNativeSql() );
        mdStoredPrograms1.setNativeKey( mdStoredPrograms.getNativeKey() );
        mdStoredPrograms1.setLanguage( mdStoredPrograms.getLanguage() );
        mdStoredPrograms1.setComments( mdStoredPrograms.getComments() );
        if ( mdStoredPrograms.getLinecount() != null ) {
            mdStoredPrograms1.setLinecount( BigInteger.valueOf( mdStoredPrograms.getLinecount() ) );
        }
        if ( mdStoredPrograms.getSecurityGroupId() != null ) {
            mdStoredPrograms1.setSecurityGroupId( BigInteger.valueOf( mdStoredPrograms.getSecurityGroupId() ) );
        }
        mdStoredPrograms1.setCreatedOn( mdStoredPrograms.getCreatedOn() );
        mdStoredPrograms1.setCreatedBy( mdStoredPrograms.getCreatedBy() );
        mdStoredPrograms1.setLastUpdatedOn( mdStoredPrograms.getLastUpdatedOn() );
        mdStoredPrograms1.setLastUpdatedBy( mdStoredPrograms.getLastUpdatedBy() );

        return mdStoredPrograms1;
    }

    @Override
    public MdStoredProgramsDTO getDto(MdStoredPrograms mdStoredPrograms) {
        if ( mdStoredPrograms == null ) {
            return null;
        }

        MdStoredProgramsDTO mdStoredProgramsDTO = new MdStoredProgramsDTO();

        BigDecimal id = mdStoredProgramsSchemaIdFkId( mdStoredPrograms );
        if ( id != null ) {
            mdStoredProgramsDTO.setSchemaIdFk( id.intValue() );
        }
        BigDecimal id1 = mdStoredProgramsPackageIdFkId( mdStoredPrograms );
        if ( id1 != null ) {
            mdStoredProgramsDTO.setPackageIdFk( id1.intValue() );
        }
        if ( mdStoredPrograms.getId() != null ) {
            mdStoredProgramsDTO.setId( mdStoredPrograms.getId().intValue() );
        }
        mdStoredProgramsDTO.setProgramtype( mdStoredPrograms.getProgramtype() );
        mdStoredProgramsDTO.setName( mdStoredPrograms.getName() );
        mdStoredProgramsDTO.setNativeSql( mdStoredPrograms.getNativeSql() );
        mdStoredProgramsDTO.setNativeKey( mdStoredPrograms.getNativeKey() );
        mdStoredProgramsDTO.setLanguage( mdStoredPrograms.getLanguage() );
        mdStoredProgramsDTO.setComments( mdStoredPrograms.getComments() );
        if ( mdStoredPrograms.getLinecount() != null ) {
            mdStoredProgramsDTO.setLinecount( mdStoredPrograms.getLinecount().intValue() );
        }
        if ( mdStoredPrograms.getSecurityGroupId() != null ) {
            mdStoredProgramsDTO.setSecurityGroupId( mdStoredPrograms.getSecurityGroupId().intValue() );
        }
        mdStoredProgramsDTO.setCreatedOn( mdStoredPrograms.getCreatedOn() );
        mdStoredProgramsDTO.setCreatedBy( mdStoredPrograms.getCreatedBy() );
        mdStoredProgramsDTO.setLastUpdatedOn( mdStoredPrograms.getLastUpdatedOn() );
        mdStoredProgramsDTO.setLastUpdatedBy( mdStoredPrograms.getLastUpdatedBy() );

        return mdStoredProgramsDTO;
    }

    protected MdSchemas mdStoredProgramsDTOToMdSchemas(MdStoredProgramsDTO mdStoredProgramsDTO) {
        if ( mdStoredProgramsDTO == null ) {
            return null;
        }

        MdSchemas mdSchemas = new MdSchemas();

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

        return mdSchemas;
    }

    protected MdPackages mdStoredProgramsDTOToMdPackages(MdStoredProgramsDTO mdStoredProgramsDTO) {
        if ( mdStoredProgramsDTO == null ) {
            return null;
        }

        MdPackages mdPackages = new MdPackages();

        if ( mdStoredProgramsDTO.getPackageIdFk() != null ) {
            mdPackages.setId( BigDecimal.valueOf( mdStoredProgramsDTO.getPackageIdFk() ) );
        }

        return mdPackages;
    }

    private BigDecimal mdStoredProgramsSchemaIdFkId(MdStoredPrograms mdStoredPrograms) {
        if ( mdStoredPrograms == null ) {
            return null;
        }
        MdSchemas schemaIdFk = mdStoredPrograms.getSchemaIdFk();
        if ( schemaIdFk == null ) {
            return null;
        }
        BigDecimal id = schemaIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }

    private BigDecimal mdStoredProgramsPackageIdFkId(MdStoredPrograms mdStoredPrograms) {
        if ( mdStoredPrograms == null ) {
            return null;
        }
        MdPackages packageIdFk = mdStoredPrograms.getPackageIdFk();
        if ( packageIdFk == null ) {
            return null;
        }
        BigDecimal id = packageIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
