<?php
class NfsCliente{

  // Controle para cliente (tomador)
  public $estrangeiro = false;
  public $pessoa_juridica = true;
  public $doc_numero = false;
  public $doc_nome = false;
  public $email = false;
  public $end = false;
  public $end_numero = false;
  public $end_bairro = false;
  public $end_uf = false;
  public $end_cep = false;
  public $end_cod_municipio = false;

  private $bd;

  public function __construct($tipo, $id=null){
    global $bd;
    $this->bd = $bd;
    if($tipo=="clube"){$this->clube($id);}
    if($tipo=="stripe"){$this->stripe($id);}
  }

  // Se clube
  private function clube($id){
    $sql = $this->bd->getConexao()->prepare('SELECT * FROM clubes WHERE id = :id');
    $sql->bindValue(':id', $id, PDO::PARAM_STR);
    if($sql->execute()){$cliente = $sql->fetch(PDO::FETCH_ASSOC);}
    if(validarUF($cliente['uf'])){
      $this->pessoa_juridica = $cliente['cnpj']!="";
      $this->doc_numero = $this->pessoa_juridica ? preg_replace('/[^0-9]/', '', $cliente['cnpj']) : preg_replace('/[^0-9]/', '', $cliente['cpf']);
      $this->doc_nome = $this->pessoa_juridica ? $cliente['razao'] : $cliente['contato'];
      $this->email = $cliente['email'];
      $this->end = $cliente['endereco'];
      $this->end_numero = '1';
      $this->end_bairro = 'Bairro';
      $this->end_uf = $cliente['uf'];
      $this->end_cep = preg_replace("/[^0-9]/","", $cliente['cep']);
      $this->end_cod_municipio = $cliente['cod_municipio']>0 ? $cliente['cod_municipio'] : false;
    }
    // Se estrangeiro
    else{$this->defaultEstrangeiro($cliente);}
  }

  // Se stripe
  private function stripe($id){
    $this->defaultEstrangeiro();
  }


  // FUNÇÕES DEFAULT

  private function defaultEstrangeiro($cliente=false){
    $this->estrangeiro = true;
    $this->pessoa_juridica = false;
    $this->doc_numero = '99999999999';
    $this->doc_nome = ($cliente && $cliente['razao']!="") ? $cliente['razao'] : "Não informado";
    $this->end = ($cliente && $cliente['endereco']!="") ? $cliente['endereco'] : null;
    $this->end_numero = '1';
    $this->end_bairro = 'Bairro';
    $this->end_uf = "EX";
    $this->end_cod_municipio = "99999";
    $this->email = ($cliente && $cliente['email']!="") ? $cliente['email'] : null;
  }

  // Não usado (ainda) - Serve para emissão de um cliente genérico
  private function defaultAvulso(){
    $this->estrangeiro = true;
    $this->pessoa_juridica = false;
    $this->doc_numero = '99999999999';
    $this->doc_nome = "Não informado";
    //$this->end_uf = "EX";
    //$this->end_cod_municipio = "99999";
  }


}
































