package com.rjconsultores.ventaboletos.vo.caja;

import java.math.BigDecimal;
import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;

import com.rjconsultores.ventaboletos.enums.TipoFormapago;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.DadosBancarioVO;
import com.rjconsultores.ventaboletos.vo.busquedapacotes.NotaCreditoVendaPacoteVO;

@XmlRootElement(name = "pagamento")
@XmlType(propOrder = { "formapagamento", "moeda", "valor",  "cartao", "notacredito", "identificacaoEmpresa", "razaoSocial", "dadosBancarios"})
public class PagamentoVO {

	private String formapagamento;
	private String moeda;
	private BigDecimal valor;
	private PagamentoCartaoVO cartao;
	private Integer formapagoId;
	private NotaCreditoVendaPacoteVO notacredito;
	private String identificacaoEmpresa;
	private String razaoSocial;
	private TipoFormapago tipoFormapago;
	
	private List<DadosBancarioVO> dadosBancarios;

	public String getMoeda() {
		return moeda;
	}

	public void setMoeda(String moeda) {
		this.moeda = moeda;
	}

	public String getFormapagamento() {
		return formapagamento;
	}

	public void setFormapagamento(String formapagamento) {
		this.formapagamento = formapagamento;
	}

	public PagamentoCartaoVO getCartao() {
		return cartao;
	}

	public void setCartao(PagamentoCartaoVO cartao) {
		this.cartao = cartao;
	}

	public BigDecimal getValor() {
		return valor;
	}

	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}

	@XmlTransient
	public Integer getFormapagoId() {
		return formapagoId;
	}

	public void setFormapagoId(Integer formapagoId) {
		this.formapagoId = formapagoId;
	}

	public NotaCreditoVendaPacoteVO getNotacredito() {
		return notacredito;
	}

	public void setNotacredito(NotaCreditoVendaPacoteVO notacredito) {
		this.notacredito = notacredito;
	}

	public String getIdentificacaoEmpresa() {
		return identificacaoEmpresa;
	}

	public void setIdentificacaoEmpresa(String identificacaoEmpresa) {
		this.identificacaoEmpresa = identificacaoEmpresa;
	}

	@XmlTransient
	public TipoFormapago getTipoFormapago() {
		return tipoFormapago;
	}

	public void setTipoFormapago(TipoFormapago tipoFormapago) {
		this.tipoFormapago = tipoFormapago;
	}

	@XmlElementWrapper
	@XmlElement(name = "dadosBancario", type = DadosBancarioVO.class)
	public List<DadosBancarioVO> getDadosBancarios() {
		return dadosBancarios;
	}

	public void setDadosBancarios(List<DadosBancarioVO> dadosBancarios) {
		this.dadosBancarios = dadosBancarios;
	}

	public String getRazaoSocial() {
		return razaoSocial;
	}

	public void setRazaoSocial(String razaoSocial) {
		this.razaoSocial = razaoSocial;
	}
}
