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

import com.qsoft.rs.sincoar.dto.MdPrivilegesDTO;
import com.qsoft.rs.sincoar.model.MdPrivileges;
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 MdPrivilegesMapperImpl implements MdPrivilegesMapper {

    @Override
    public MdPrivileges getEntidad(MdPrivilegesDTO mdPrivileges) {
        if ( mdPrivileges == null ) {
            return null;
        }

        MdPrivileges mdPrivileges1 = new MdPrivileges();

        mdPrivileges1.setSchemaIdFk( mdPrivilegesDTOToMdSchemas( mdPrivileges ) );
        if ( mdPrivileges.getId() != null ) {
            mdPrivileges1.setId( BigDecimal.valueOf( mdPrivileges.getId() ) );
        }
        mdPrivileges1.setPrivilegeName( mdPrivileges.getPrivilegeName() );
        if ( mdPrivileges.getPrivelegeObjectId() != null ) {
            mdPrivileges1.setPrivelegeObjectId( BigInteger.valueOf( mdPrivileges.getPrivelegeObjectId() ) );
        }
        mdPrivileges1.setPrivelegeobjecttype( mdPrivileges.getPrivelegeobjecttype() );
        mdPrivileges1.setPrivelegeType( mdPrivileges.getPrivelegeType() );
        mdPrivileges1.setAdminOption( mdPrivileges.getAdminOption() );
        mdPrivileges1.setNativeSql( mdPrivileges.getNativeSql() );
        mdPrivileges1.setNativeKey( mdPrivileges.getNativeKey() );
        mdPrivileges1.setComments( mdPrivileges.getComments() );
        if ( mdPrivileges.getSecurityGroupId() != null ) {
            mdPrivileges1.setSecurityGroupId( BigInteger.valueOf( mdPrivileges.getSecurityGroupId() ) );
        }
        mdPrivileges1.setCreatedOn( mdPrivileges.getCreatedOn() );
        mdPrivileges1.setCreatedBy( mdPrivileges.getCreatedBy() );
        mdPrivileges1.setLastUpdatedOn( mdPrivileges.getLastUpdatedOn() );
        mdPrivileges1.setLastUpdatedBy( mdPrivileges.getLastUpdatedBy() );

        return mdPrivileges1;
    }

    @Override
    public MdPrivilegesDTO getDto(MdPrivileges mdPrivileges) {
        if ( mdPrivileges == null ) {
            return null;
        }

        MdPrivilegesDTO mdPrivilegesDTO = new MdPrivilegesDTO();

        BigDecimal id = mdPrivilegesSchemaIdFkId( mdPrivileges );
        if ( id != null ) {
            mdPrivilegesDTO.setSchemaIdFk( id.intValue() );
        }
        if ( mdPrivileges.getId() != null ) {
            mdPrivilegesDTO.setId( mdPrivileges.getId().intValue() );
        }
        mdPrivilegesDTO.setPrivilegeName( mdPrivileges.getPrivilegeName() );
        if ( mdPrivileges.getPrivelegeObjectId() != null ) {
            mdPrivilegesDTO.setPrivelegeObjectId( mdPrivileges.getPrivelegeObjectId().intValue() );
        }
        mdPrivilegesDTO.setPrivelegeobjecttype( mdPrivileges.getPrivelegeobjecttype() );
        mdPrivilegesDTO.setPrivelegeType( mdPrivileges.getPrivelegeType() );
        mdPrivilegesDTO.setAdminOption( mdPrivileges.getAdminOption() );
        mdPrivilegesDTO.setNativeSql( mdPrivileges.getNativeSql() );
        mdPrivilegesDTO.setNativeKey( mdPrivileges.getNativeKey() );
        mdPrivilegesDTO.setComments( mdPrivileges.getComments() );
        if ( mdPrivileges.getSecurityGroupId() != null ) {
            mdPrivilegesDTO.setSecurityGroupId( mdPrivileges.getSecurityGroupId().intValue() );
        }
        mdPrivilegesDTO.setCreatedOn( mdPrivileges.getCreatedOn() );
        mdPrivilegesDTO.setCreatedBy( mdPrivileges.getCreatedBy() );
        mdPrivilegesDTO.setLastUpdatedOn( mdPrivileges.getLastUpdatedOn() );
        mdPrivilegesDTO.setLastUpdatedBy( mdPrivileges.getLastUpdatedBy() );

        return mdPrivilegesDTO;
    }

    protected MdSchemas mdPrivilegesDTOToMdSchemas(MdPrivilegesDTO mdPrivilegesDTO) {
        if ( mdPrivilegesDTO == null ) {
            return null;
        }

        MdSchemas mdSchemas = new MdSchemas();

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

        return mdSchemas;
    }

    private BigDecimal mdPrivilegesSchemaIdFkId(MdPrivileges mdPrivileges) {
        if ( mdPrivileges == null ) {
            return null;
        }
        MdSchemas schemaIdFk = mdPrivileges.getSchemaIdFk();
        if ( schemaIdFk == null ) {
            return null;
        }
        BigDecimal id = schemaIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
