<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Order extends Model {
	//
	use SoftDeletes;

	const PROCESSING = 0;
	const PROCESSED = 1;
	const DROPPED = 2;


	const BANK = 0;
	const VNPAY = 1;

	protected $fillable = [
		'value',
		'package_id',
		'user_id',
		'name',
		'phone',
		'month',
		'status',
		'created_at',
		'updated_at',
		'coupon_id',
		'coupon_code',
		'extra_month',
		'discount',
		'rooms',
		'created_at',
		'updated_at',
		'payment_type',
		'vnpay_status',
		'number_view_leads',

        'wallet_trans_id',
        'request_momo_log',
        'response_momo_log'
	];

	protected $dates = [
		'created_at',
		'updated_at',
		'deleted_at'
	];

    protected $casts = [
        'request_momo_log' => 'array',
        'response_momo_log' => 'array',
    ];

	public function package() {
		return $this->belongsTo( Package::class );
	}

	public function getStatusTextAttribute() {
		$type = $this->attributes['status'];

		if ( $type == Order::PROCESSED ) {
			return '<label class="label label-success">Đã xử lý</label>';
		} else if ( $type == Order::PROCESSING ) {
			return '<label class="label label-danger">Chưa xử lý</label>';
		} else if ( $type == Order::DROPPED ) {
			return '<label class="label label-warning">Đã Hủy</label>';
		}

		return 'Chưa rõ';
	}

	public function getPaymentTypeTextAttribute() {
		$type = $this->attributes['payment_type'];

		if ( $type == Order::BANK ) {
			return '<label class="label label-success">Chuyển khoản</label>';
		} else if ( $type == Order::VNPAY ) {
			return '<label class="label label-danger">VNPAY</label>';
		}

		return 'Chưa rõ';
	}
}
