<?php

namespace App;

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

class PaymentTransactionTemp extends Model
{

    protected $table = 'payment_transactions_temp';

    public $fillable = ['amount', 'payment_date', 'payment_reconciliation_date', 'status', 'emi_payment_id', 'application_id', 'mode', 'trasanction_id', 'collected_by', 'bank_id', 'bank_name', 'payment_for'];

    public function emi_payment(){
        return $this->hasone('App\EMIPaymentTemp','id','emi_payment_id');
    }

    public function bank(){
        return $this->hasone('App\LenderBank','id','bank_id');
    }

    public function refunded_user_by(){
        return $this->hasOne('App\User','id','refunded_by');
    }

    public function paidBy(){
        return $this->hasOne('App\User','id','paid_by');
    }

    public function user(){
        return $this->hasOne('App\User','id','adjusted_by');
    }

    public function application(){
        return $this->hasOne('App\ConsumerApplication','id','application_id');
    }

    public function applicationElement(){
        return $this->hasOne('App\ConsumerApplicationElement','application_id','application_id');
    }

    public function refundPayment(){
        return $this->hasone('App\RefundPayments','payment_id','id');
    }

    public static function addTransaction($data) {

        $payment_transaction = new self();
        $payment_transaction->emi_payment_id = !empty($data['pay_id']) ? $data['pay_id'] : '';
        $payment_transaction->amount = !empty($data['amount']) ? $data['amount'] : '';
        $payment_transaction->mode = !empty($data['mode']) ? $data['mode'] : '';
        $payment_transaction->paid_by = !empty($data['paid_by']) ? $data['paid_by'] : '';
        $payment_transaction->payment_reconciliation_date = !empty($data['rec_date']) ? $data['rec_date'] : date('Y-m-d');
        $payment_transaction->umrn = !empty($data['umrn']) ? $data['umrn'] : '';
        $payment_transaction->collected_by = !empty($data['coll_by']) ? $data['coll_by'] : '';
        $payment_transaction->wallet_name = !empty($data['wallet_name']) ? $data['wallet_name'] : '';
        $payment_transaction->reason = !empty($data['reason']) ? $data['reason'] : '';
        $payment_transaction->trasanction_id = !empty($data['txn_id']) ? $data['txn_id'] : '';
        $payment_transaction->trasanction_acknowledgement = !empty($data['trans_ack']) ? $data['trans_ack'] : '';
        $payment_transaction->application_id = !empty($data['id']) ? $data['id'] : '';
        $payment_transaction->payment_for = !empty($data['purpose']) ? $data['purpose'] : '';
        $payment_transaction->payment_date = !empty($data['pay_date']) ? $data['pay_date'] : date('Y-m-d');
        $payment_transaction->cf_transaction_id = !empty($data['cf_txn_id']) ? $data['cf_txn_id'] : '';
        $payment_transaction->bank_id = 1;
        $payment_transaction->status = 'success';
        $payment_transaction->save();
        return $payment_transaction;
    }
}
