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

import com.qsoft.rs.sincoar.dto.TarmcargaDTO;
import com.qsoft.rs.sincoar.model.Tarmcarga;
import com.qsoft.rs.sincoar.model.Tcustperson;
import javax.annotation.processing.Generated;

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

    @Override
    public Tarmcarga getEntidad(TarmcargaDTO tarmcarga) {
        if ( tarmcarga == null ) {
            return null;
        }

        Tarmcarga tarmcarga1 = new Tarmcarga();

        tarmcarga1.setPersoncode( tarmcargaDTOToTcustperson( tarmcarga ) );
        tarmcarga1.setCcarga( tarmcarga.getCcarga() );
        tarmcarga1.setFecha( tarmcarga.getFecha() );
        tarmcarga1.setAucp( tarmcarga.getAucp() );
        tarmcarga1.setEsdesaduanizado( tarmcarga.getEsdesaduanizado() );
        tarmcarga1.setTipocarga( tarmcarga.getTipocarga() );
        if ( tarmcarga.getCregistro() != null ) {
            tarmcarga1.setCregistro( tarmcarga.getCregistro() );
        }
        tarmcarga1.setProvincecode( tarmcarga.getProvincecode() );
        tarmcarga1.setCantoncode( tarmcarga.getCantoncode() );
        tarmcarga1.setCitycode( tarmcarga.getCitycode() );
        tarmcarga1.setCategoria( tarmcarga.getCategoria() );
        tarmcarga1.setCsolicitud( tarmcarga.getCsolicitud() );

        return tarmcarga1;
    }

    @Override
    public TarmcargaDTO getDto(Tarmcarga tarmcarga) {
        if ( tarmcarga == null ) {
            return null;
        }

        TarmcargaDTO tarmcargaDTO = new TarmcargaDTO();

        Long personcode = tarmcargaPersoncodePersoncode( tarmcarga );
        if ( personcode != null ) {
            tarmcargaDTO.setPersoncode( String.valueOf( personcode ) );
        }
        tarmcargaDTO.setCcarga( tarmcarga.getCcarga() );
        tarmcargaDTO.setFecha( tarmcarga.getFecha() );
        tarmcargaDTO.setAucp( tarmcarga.getAucp() );
        tarmcargaDTO.setEsdesaduanizado( tarmcarga.getEsdesaduanizado() );
        tarmcargaDTO.setTipocarga( tarmcarga.getTipocarga() );
        tarmcargaDTO.setCregistro( (int) tarmcarga.getCregistro() );
        tarmcargaDTO.setProvincecode( tarmcarga.getProvincecode() );
        tarmcargaDTO.setCantoncode( tarmcarga.getCantoncode() );
        tarmcargaDTO.setCitycode( tarmcarga.getCitycode() );
        tarmcargaDTO.setCategoria( tarmcarga.getCategoria() );
        tarmcargaDTO.setCsolicitud( tarmcarga.getCsolicitud() );

        return tarmcargaDTO;
    }

    protected Tcustperson tarmcargaDTOToTcustperson(TarmcargaDTO tarmcargaDTO) {
        if ( tarmcargaDTO == null ) {
            return null;
        }

        Tcustperson tcustperson = new Tcustperson();

        if ( tarmcargaDTO.getPersoncode() != null ) {
            tcustperson.setPersoncode( Long.parseLong( tarmcargaDTO.getPersoncode() ) );
        }

        return tcustperson;
    }

    private Long tarmcargaPersoncodePersoncode(Tarmcarga tarmcarga) {
        if ( tarmcarga == null ) {
            return null;
        }
        Tcustperson personcode = tarmcarga.getPersoncode();
        if ( personcode == null ) {
            return null;
        }
        Long personcode1 = personcode.getPersoncode();
        if ( personcode1 == null ) {
            return null;
        }
        return personcode1;
    }
}
