<?php
/**
 * Created by PhpStorm.
 * User: sunil
 * Date: 12/11/18
 * Time: 2:02 PM
 */

namespace App\Imports;

use Illuminate\Http\Request;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\ToCollection;

class SettlementDateImport implements ToCollection
{

    use Importable;
    private $request;
    public $update_query;
    /**
     * @var false
     */
    public $status = true;

    public function __construct(Request $request){
        $this->request = $request;
    }

    /**
     * @param Collection $collection
     */
    public function collection(Collection $collection)
    {
        try {
            unset($collection[0]);
            $settlement_data = [];
            foreach ($collection as $item) {
                $settlement_data[$item[1]][] = "'" . str_replace('#', 'inv_', $item[0]) . "'";
            }

            foreach ($settlement_data as $date => $transaction_ids) {
                $update_query = 'update payment_transactions LEFT JOIN consumer_application as ca ON payment_transactions.application_id = ca.id set settlement_date="' . $date . '" where trasanction_id in (' . implode(',', $transaction_ids) . ') and ca.lender_id='.$this->request->get('lender_id');
                DB::update($update_query);
            }
        }catch (\Exception $e){
            $this->status = false;
        }

    }
}
