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

import com.qsoft.rs.sincoar.dto.MdUserPrivilegesDTO;
import com.qsoft.rs.sincoar.model.MdPrivileges;
import com.qsoft.rs.sincoar.model.MdUserPrivileges;
import com.qsoft.rs.sincoar.model.MdUsers;
import java.math.BigDecimal;
import java.math.BigInteger;
import javax.annotation.processing.Generated;

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

    @Override
    public MdUserPrivileges getEntidad(MdUserPrivilegesDTO mdUserPrivileges) {
        if ( mdUserPrivileges == null ) {
            return null;
        }

        MdUserPrivileges mdUserPrivileges1 = new MdUserPrivileges();

        mdUserPrivileges1.setPrivilegeIdFk( mdUserPrivilegesDTOToMdPrivileges( mdUserPrivileges ) );
        mdUserPrivileges1.setUserIdFk( mdUserPrivilegesDTOToMdUsers( mdUserPrivileges ) );
        if ( mdUserPrivileges.getId() != null ) {
            mdUserPrivileges1.setId( BigDecimal.valueOf( mdUserPrivileges.getId() ) );
        }
        if ( mdUserPrivileges.getSecurityGroupId() != null ) {
            mdUserPrivileges1.setSecurityGroupId( BigInteger.valueOf( mdUserPrivileges.getSecurityGroupId() ) );
        }
        mdUserPrivileges1.setCreatedOn( mdUserPrivileges.getCreatedOn() );
        mdUserPrivileges1.setCreatedBy( mdUserPrivileges.getCreatedBy() );
        mdUserPrivileges1.setLastUpdatedOn( mdUserPrivileges.getLastUpdatedOn() );
        mdUserPrivileges1.setLastUdpatedBy( mdUserPrivileges.getLastUdpatedBy() );

        return mdUserPrivileges1;
    }

    @Override
    public MdUserPrivilegesDTO getDto(MdUserPrivileges mdUserPrivileges) {
        if ( mdUserPrivileges == null ) {
            return null;
        }

        MdUserPrivilegesDTO mdUserPrivilegesDTO = new MdUserPrivilegesDTO();

        BigDecimal id = mdUserPrivilegesPrivilegeIdFkId( mdUserPrivileges );
        if ( id != null ) {
            mdUserPrivilegesDTO.setPrivilegeIdFk( id.intValue() );
        }
        BigDecimal id1 = mdUserPrivilegesUserIdFkId( mdUserPrivileges );
        if ( id1 != null ) {
            mdUserPrivilegesDTO.setUserIdFk( id1.intValue() );
        }
        if ( mdUserPrivileges.getId() != null ) {
            mdUserPrivilegesDTO.setId( mdUserPrivileges.getId().intValue() );
        }
        if ( mdUserPrivileges.getSecurityGroupId() != null ) {
            mdUserPrivilegesDTO.setSecurityGroupId( mdUserPrivileges.getSecurityGroupId().intValue() );
        }
        mdUserPrivilegesDTO.setCreatedOn( mdUserPrivileges.getCreatedOn() );
        mdUserPrivilegesDTO.setCreatedBy( mdUserPrivileges.getCreatedBy() );
        mdUserPrivilegesDTO.setLastUpdatedOn( mdUserPrivileges.getLastUpdatedOn() );
        mdUserPrivilegesDTO.setLastUdpatedBy( mdUserPrivileges.getLastUdpatedBy() );

        return mdUserPrivilegesDTO;
    }

    protected MdPrivileges mdUserPrivilegesDTOToMdPrivileges(MdUserPrivilegesDTO mdUserPrivilegesDTO) {
        if ( mdUserPrivilegesDTO == null ) {
            return null;
        }

        MdPrivileges mdPrivileges = new MdPrivileges();

        if ( mdUserPrivilegesDTO.getPrivilegeIdFk() != null ) {
            mdPrivileges.setId( BigDecimal.valueOf( mdUserPrivilegesDTO.getPrivilegeIdFk() ) );
        }

        return mdPrivileges;
    }

    protected MdUsers mdUserPrivilegesDTOToMdUsers(MdUserPrivilegesDTO mdUserPrivilegesDTO) {
        if ( mdUserPrivilegesDTO == null ) {
            return null;
        }

        MdUsers mdUsers = new MdUsers();

        if ( mdUserPrivilegesDTO.getUserIdFk() != null ) {
            mdUsers.setId( BigDecimal.valueOf( mdUserPrivilegesDTO.getUserIdFk() ) );
        }

        return mdUsers;
    }

    private BigDecimal mdUserPrivilegesPrivilegeIdFkId(MdUserPrivileges mdUserPrivileges) {
        if ( mdUserPrivileges == null ) {
            return null;
        }
        MdPrivileges privilegeIdFk = mdUserPrivileges.getPrivilegeIdFk();
        if ( privilegeIdFk == null ) {
            return null;
        }
        BigDecimal id = privilegeIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }

    private BigDecimal mdUserPrivilegesUserIdFkId(MdUserPrivileges mdUserPrivileges) {
        if ( mdUserPrivileges == null ) {
            return null;
        }
        MdUsers userIdFk = mdUserPrivileges.getUserIdFk();
        if ( userIdFk == null ) {
            return null;
        }
        BigDecimal id = userIdFk.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}
