<?php
    include "../models/MovimentacoesBoletoClass.php";

class MovimentacoesBoletoCtl
{
    private $MovimentacoesBoleto;

    private $id;
    private $id_movimentacoes;
    private $id_consulta;
    private $linha_digitabel;
    private $codigo_barras;
    private $nome;
    private $documento;
    private $valor_original;
    private $valor_total;
    private $valor_juros;
    private $valor_multa;
    private $valor_desconto;
    private $data_vencimento;
    private $data_pagamento;
    private $payment_id;

    private $retorno;
    private $mensagemRetorno;

    public function __construct()
    {
        $this->MovimentacoesBoleto = new MovimentacoesBoletoClass();
    }

    public function getPorId()
    {
        $this->MovimentacoesBoleto->setId($this->getId());
        $resultado = $this->MovimentacoesBoleto->getPorId();

        $this->setRetorno($this->MovimentacoesBoleto->getRetorno());
        $this->setMensagemRetorno($this->MovimentacoesBoleto->getMensagemRetorno());

        return $resultado;
    }

    public function getPorIdMovimentacao()
    {
        $this->MovimentacoesBoleto->setIdMovimentacoes($this->getIdMovimentacoes());
        $resultado = $this->MovimentacoesBoleto->getPorIdMovimentacao();

        $this->setRetorno($this->MovimentacoesBoleto->getRetorno());
        $this->setMensagemRetorno($this->MovimentacoesBoleto->getMensagemRetorno());

        return $resultado;
    }

    public function inserir()
    {
        $this->MovimentacoesBoleto->setIdMovimentacoes($this->getIdMovimentacoes());
        $this->MovimentacoesBoleto->setIdConsulta($this->getIdConsulta());
        $this->MovimentacoesBoleto->setLinhaDigitabel($this->getLinhaDigitabel());
        $this->MovimentacoesBoleto->setCodigoBarras($this->getCodigoBarras());
        $this->MovimentacoesBoleto->setNome($this->getNome());
        $this->MovimentacoesBoleto->setDocumento($this->getDocumento());
        $this->MovimentacoesBoleto->setValorOriginal($this->getValorOriginal());
        $this->MovimentacoesBoleto->setValorTotal($this->getValorTotal());
        $this->MovimentacoesBoleto->setValorJuros($this->getValorJuros());
        $this->MovimentacoesBoleto->setValorMulta($this->getValorMulta());
        $this->MovimentacoesBoleto->setValorDesconto($this->getValorDesconto());
        $this->MovimentacoesBoleto->setDataVencimento($this->getDataVencimento());

        $resultado = $this->MovimentacoesBoleto->inserir();

        $this->setId($this->MovimentacoesBoleto->getId());

        $this->setRetorno($this->MovimentacoesBoleto->getRetorno());
        $this->setMensagemRetorno($this->MovimentacoesBoleto->getMensagemRetorno());

        return $resultado;
    }

    public function gravaPagamento()
    {
        $this->MovimentacoesBoleto->setId($this->getId());
        $this->MovimentacoesBoleto->setPaymentId($this->getPaymentId());
        $resultado = $this->MovimentacoesBoleto->gravaPagamento();

        $this->setRetorno($this->MovimentacoesBoleto->getRetorno());
        $this->setMensagemRetorno($this->MovimentacoesBoleto->getMensagemRetorno());

        return $resultado;
    }


    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     */
    public function setId($id): void
    {
        $this->id = $id;
    }

    /**
     * @return mixed
     */
    public function getIdMovimentacoes()
    {
        return $this->id_movimentacoes;
    }

    /**
     * @param mixed $id_movimentacoes
     */
    public function setIdMovimentacoes($id_movimentacoes): void
    {
        $this->id_movimentacoes = $id_movimentacoes;
    }

    /**
     * @return mixed
     */
    public function getIdConsulta()
    {
        return $this->id_consulta;
    }

    /**
     * @param mixed $id_consulta
     */
    public function setIdConsulta($id_consulta): void
    {
        $this->id_consulta = $id_consulta;
    }

    /**
     * @return mixed
     */
    public function getLinhaDigitabel()
    {
        return $this->linha_digitabel;
    }

    /**
     * @param mixed $linha_digitabel
     */
    public function setLinhaDigitabel($linha_digitabel): void
    {
        $this->linha_digitabel = $linha_digitabel;
    }

    /**
     * @return mixed
     */
    public function getCodigoBarras()
    {
        return $this->codigo_barras;
    }

    /**
     * @param mixed $codigo_barras
     */
    public function setCodigoBarras($codigo_barras): void
    {
        $this->codigo_barras = $codigo_barras;
    }

    /**
     * @return mixed
     */
    public function getNome()
    {
        return $this->nome;
    }

    /**
     * @param mixed $nome
     */
    public function setNome($nome): void
    {
        $this->nome = $nome;
    }

    /**
     * @return mixed
     */
    public function getDocumento()
    {
        return $this->documento;
    }

    /**
     * @param mixed $documento
     */
    public function setDocumento($documento): void
    {
        $this->documento = $documento;
    }

    /**
     * @return mixed
     */
    public function getValorOriginal()
    {
        return $this->valor_original;
    }

    /**
     * @param mixed $valor_original
     */
    public function setValorOriginal($valor_original): void
    {
        $this->valor_original = $valor_original;
    }

    /**
     * @return mixed
     */
    public function getValorTotal()
    {
        return $this->valor_total;
    }

    /**
     * @param mixed $valor_total
     */
    public function setValorTotal($valor_total): void
    {
        $this->valor_total = $valor_total;
    }

    /**
     * @return mixed
     */
    public function getValorJuros()
    {
        return $this->valor_juros;
    }

    /**
     * @param mixed $valor_juros
     */
    public function setValorJuros($valor_juros): void
    {
        $this->valor_juros = $valor_juros;
    }

    /**
     * @return mixed
     */
    public function getValorMulta()
    {
        return $this->valor_multa;
    }

    /**
     * @param mixed $valor_multa
     */
    public function setValorMulta($valor_multa): void
    {
        $this->valor_multa = $valor_multa;
    }

    /**
     * @return mixed
     */
    public function getValorDesconto()
    {
        return $this->valor_desconto;
    }

    /**
     * @param mixed $valor_desconto
     */
    public function setValorDesconto($valor_desconto): void
    {
        $this->valor_desconto = $valor_desconto;
    }

    /**
     * @return mixed
     */
    public function getDataVencimento()
    {
        return $this->data_vencimento;
    }

    /**
     * @param mixed $data_vencimento
     */
    public function setDataVencimento($data_vencimento): void
    {
        $this->data_vencimento = $data_vencimento;
    }

    /**
     * @return mixed
     */
    public function getDataPagamento()
    {
        return $this->data_pagamento;
    }

    /**
     * @param mixed $data_pagamento
     */
    public function setDataPagamento($data_pagamento): void
    {
        $this->data_pagamento = $data_pagamento;
    }

    /**
     * @return mixed
     */
    public function getPaymentId()
    {
        return $this->payment_id;
    }

    /**
     * @param mixed $payment_id
     */
    public function setPaymentId($payment_id): void
    {
        $this->payment_id = $payment_id;
    }

    /**
     * @return mixed
     */
    public function getRetorno()
    {
        return $this->retorno;
    }

    /**
     * @param mixed $retorno
     */
    public function setRetorno($retorno): void
    {
        $this->retorno = $retorno;
    }

    /**
     * @return mixed
     */
    public function getMensagemRetorno()
    {
        return $this->mensagemRetorno;
    }

    /**
     * @param mixed $mensagemRetorno
     */
    public function setMensagemRetorno($mensagemRetorno): void
    {
        $this->mensagemRetorno = $mensagemRetorno;
    }


}