<?php

class Pagamento_Model extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    function obtem_transacao() {
        date_default_timezone_set('America/Belem');
        date('Y-m-d H:i:s', time());
        $this->db->select('id_transacao, id_cliente, data_transacao');
        $this->db->where ('id_cliente', $_SESSION['id_cliente']);
        $this->db->where ('id_transacao', $_SESSION['id_transacao']);
        $query = $this->db->get('amn_transacao');

        if ($query->num_rows() > 0) {
            return $query->row_array();
        } else {
            return FALSE; //  O ID_TRANSACAO NÃO EXISTE NA TABELA TRANSAÇÃO
        }
    }
   
    public function recuperatransacao() {

        $this->db->select('id, id_transacao, id_cliente, data_transacao, tipo_transacao_movimentacao, valor');
        $this->db->where('id_cliente', $_SESSION['id_cliente']);
        $this->db->where('id_transacao', $_SESSION['id_transacao']);
        $this->db->order_by("id", "desc");
        $query = $this->db->get('amn_transacao');

        if ($query->num_rows() > 0) {
            return $query->row_array();
        } else {
            return FALSE; //  O ID_TRANSACAO NÃO EXISTE NA TABELA TRANSAÇÃO
        }
    }
     function transacao($id_transacao) {

        date_default_timezone_set('America/Belem');
        $data = date('Y-m-d H:i:s', time());
        
        $dados = array(
            'id_transacao' => $id_transacao,
            'id_cliente' => $_SESSION['id_cliente'],
            'tipo_transacao_movimentacao' => 'Adição de Saldo',
            'data_transacao' => $data,
            'tipo_pagamento' => '0',
            'situacao' => '0',
        );

        $this->db->insert('amn_transacao', $dados);
    }
    
     public function atualizatransacaoValor() {
        // INSIRO O VALOR DA TRANSAÇÃO NO BANCO DE DADOS
        $transacao = $this->recuperatransacao();
       
        $saldo = $this->input->post('valor');
        $valor = str_replace(array('.', ','),array('', '.'), $saldo);
        
        $id_transacao = $transacao['id_transacao'];
     
        $data = array('valor' => $valor);
        $this->db->where('id_transacao', $id_transacao);
        $this->db->update('amn_transacao', $data);
    }
    
      public function log_transacao($id_transacao, $token) {

        $transacao = $this->obtem_transacao();
        $idtransacao = $transacao['id_transacao'];
        date_default_timezone_set('America/Belem');

        $data = date('Y-m-d H:i:s', time());

        $dados = array(
            'transacao' => $idtransacao,
            'id_cliente' => $_SESSION['id_cliente'],
            'data' => $data,
            'situacao' => 0,
            'pago' => 0,
            'cod_interme' => $token,
        );
        $this->db->insert('amn_log_transacao', $dados);
    }
    
    public function log_transacao_bole_deb($token) {

        date_default_timezone_set('America/Belem');

        $data = date('Y-m-d H:i:s', time());

        $dados = array(
            'transacao' => $_SESSION['id_transacao'],
            'id_cliente' => $_SESSION['id_cliente'],
            'data' => $data,
            'situacao' => 0,
            'pago' => 0,
            'cod_interme' => $token,
            'responsavel' => 'traycheckout',
        );
        $this->db->insert('amn_log_transacao', $dados);
    }
    
     public function atualizatransacao($transacao) {

        $data = array('situacao' => 1, 'tipo_pagamento' => 'CartaoCredito');
        $this->db->where('id_transacao', $transacao);
        $this->db->update('amn_transacao', $data);
    }
    
     public function log_transacao_cartao($token) {

        
        date_default_timezone_set('America/Belem');

        $data = date('Y-m-d H:i:s', time());

        $dados = array(
            'transacao' => $_SESSION['id_transacao'],
            'id_cliente' => $_SESSION['id_cliente'],
            'data' => $data,
            'situacao' => 1,
            'pago' => 1,
            'cod_interme' => $token,
            'responsavel' => 'cielo',
        );
        $this->db->insert('amn_log_transacao', $dados);
    }
    
    public function obtemSaldo() {
        
        $this->db->select('saldo, bonificacao');
        $this->db->where('id_cliente', $_SESSION['id_cliente']);
        $query = $this->db->get('amn_cliente');

        return $query->row_array();
    }
    
    public function atualizaSaldo($saldo_novo) {
       
        $data = array('saldo' => $saldo_novo);
        $this->db->where('id_cliente', $_SESSION['id_cliente']);
        $this->db->update('amn_cliente', $data);
    }
    
    public function recuperavalor() {

        $this->db->select('id, id_transacao, id_cliente, data_transacao, tipo_transacao_movimentacao, valor');
        $this->db->where('id_cliente', $_SESSION['id_cliente']);
        $this->db->where('id_transacao', $_SESSION['id_transacao']);
        $this->db->order_by("id", "desc");
        $query = $this->db->get('amn_transacao');

        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return FALSE; //  O ID_TRANSACAO NÃO EXISTE NA TABELA TRANSAÇÃO
        }
    }
    
    // RETORNO DE PAGAMENTO 
    public function get_data($r_transacao) {
        
        $this->db->select('id, id_transacao, id_cliente, data_transacao, tipo_transacao_movimentacao, valor');
        $this->db->where($r_transacao);
        $this->db->order_by("id", "desc");
        $query = $this->db->get('amn_transacao');
       
        return $query->row_array();

    }
    
    public function update($r_transacao_set, $r_transacao_where) {
        
        $this->db->where($r_transacao_where);
        $this->db->update('amn_transacao', $r_transacao_set);
        
    }
    
    public function count_all_data($data) {
        
        $this->db->select('count(*) as total');
        $this->db->where ($data);
        $this->db->order_by("id_log", "desc");
        $query = $this->db->get('amn_log_transacao');
        
        return $query->result();
    }
    
    public function insert($arr_log_transacao) {
       
       date_default_timezone_set('America/Belem');
       
       $this->db->insert('amn_log_transacao', $arr_log_transacao);

    }
    
    public function recuperatransacaopaga($id_cliente) {
        
        $this->db->select('a.id, a.id_transacao, a.id_cliente, a.data_transacao, a.tipo_transacao_movimentacao, a.valor');
        $this->db->where ('a.id_cliente', $id_cliente);
        $this->db->where ('b.situacao', 6);
        $this->db->order_by("id", "desc");
        $query = $this->db->get('amn_transacao a, amn_log_transacao b');

        if ($query->num_rows() > 0) {
            return $query->row_array();
        } else {
            return FALSE; //  O ID_TRANSACAO NÃO EXISTE NA TABELA TRANSAÇÃO
        }
    }
    
    public function atualizatransacaopaga($id_transacao, $forma) {

//        $data = array('situacao' => 7);
//        $this->db->where('transacao', $transacao);
//        $this->db->update('amn_log_transacao', $data);
//        $this->db->order_by("data", "desc");
//        
        $data = array('situacao' => 1, 'tipo_pagamento' => $forma);
        $this->db->where('id_transacao', $id_transacao);
        $this->db->update('amn_transacao', $data);
    }
    
    // LIBERA O SALDO
     public function cliente($id_cliente) {

        $this->db->select('id_negocio, nome, nome_negocio ,email, saldo, bonificacao, cpf, ddd_celular, celular, data_cadastro, endereco, numero, complemento, cep, bairro, cidade, estado, situacao');
        $this->db->where ('id_cliente', $id_cliente);
        $query = $this->db->get('amn_cliente');

        return $query->row_array();
    }
     public function obtemDinheiro($id_cliente) {
        
        $this->db->select('saldo, bonificacao');
        $this->db->where('id_cliente', $id_cliente);
        $query = $this->db->get('amn_cliente');

        return $query->row_array();
    }
    public function atualizaSaldoAnterior($dinheiro,$id_negocio) {

        $data = array('saldo_anterior' => $dinheiro);
        $this->db->where('id_negocio', $id_negocio);
        $this->db->update('amn_cliente', $data);
    }
    public function atualizaDinheiro($saldo_novo, $id_cliente) {
       
        $data = array('saldo' => $saldo_novo);
        $this->db->where('id_cliente', $id_cliente);
        $this->db->update('amn_cliente', $data);
    }
}
