<?php
class Punto_model extends CI_Model {

	public function puntos($data) {
		$ps = $this->load->database('prestashop', TRUE);
		$ps->from('ps_loyalty');
		$ps->where('id_creador !=', 0);
		$ps->where('description !=', 'Compra en tienda');
		$ps->order_by('id_loyalty DESC');

		$data['puntos'] = $ps->get()->result_array();

		return $data['puntos'];
	}

	public function estados() {
		$estados = [
			1 => [
				'nombre' => 'Esperando Validación',
				'class' => 'badge-warning'
			],
			2 => [
				'nombre' => 'Disponibles',
				'class' => 'badge-success'
			],
			3 => [
				'nombre' => 'Cancelados',
				'class' => 'badge-danger'
			],
			4 => [
				'nombre' => 'Convertidos',
				'class' => 'badge-info'
			],
			5 => [
				'nombre' => 'No Disponibles',
				'class' => 'badge-secondary'
			],
			6 => [
				'nombre' => 'Canjeados en tienda',
				'class' => 'badge-info'
			],
			7 => [
				'nombre' => 'Vencidos',
				'class' => 'badge-danger'
			],
		];

		return $estados;
	}


	

	/**
	 * Entrega información de registro de loyalty
	 */
	public function info($id) {
		$ps = $this->load->database('prestashop', TRUE);

		$ps->select("*");
		$ps->from('ps_loyalty l');
		$ps->where('id_loyalty', $id);
		$loyalty = $ps->get()->row_array();
		
		if (!empty($loyalty)) {

			// Busca datos cliente
			$this->db->select('email, nombre');
			$this->db->from('clientes');
			$this->db->where('ps_id', $loyalty['id_customer']);
			$this->db->where('deleted', 0);
			$cliente = $this->db->get()->row_array();

			if (!empty($cliente)) {
				$loyalty['email'] = $cliente['email'];
				$loyalty['nombre'] = $cliente['nombre'];
			}
			return $loyalty;
		}
		else{
			return [];
		}
	}

	
	/**
	 * Actualiza registro de puntos
	 */
	public function save($data) {
		unset($data['email'], $data['nombre']);
		//revisar si viene id y si viene se hace update
		$ps = $this->load->database('prestashop', TRUE);
		if (empty($data['id_loyalty'])) {
			$data['id_creador'] = $_SESSION['usuario']['id'];
			$hoy = date('Y-m-d H:i:s');
			$data['date_add'] = $hoy;
			$data['date_upd'] = $hoy;

			$ps->insert('ps_loyalty', $data);
			$data['id_loyalty'] = $ps->insert_id();
			return $data['id_loyalty'];
		}
		else {
			$ps->where('id_loyalty', $data['id_loyalty']);
			$ps->update('ps_loyalty', $data);
			return $data['id_loyalty'];
		}
		return false;
	}

}


