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

namespace App\Imports;

use App\CSV;
use App\Mandate;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithMultipleSheets;

class RBLNachImports implements WithMultipleSheets
{

    use Importable;

    public function __construct(Request $request){

    }

    /**
     * @param array $sheet
     * @return void
     */
    public function model(array $sheet)
    {
        $data = [];
        $view = [];
        foreach ($sheet as $key=>$rows) {
            if($sheet[$key][1][3] == 'UMRN') {
                foreach ($sheet[$key] as $index=>$row) {
                    foreach ($row as $segment=>$value){
                        if($index > 1){
                            $view[$sheet[$key][1][$segment]] = $value;
                        }
                    }
                    if($view) {
                        $data[] = $view;
                    }
                }
            }
       }

       $this->updateNachData($data);
    }

    public function updateNachData($data){
        $response = [];
        foreach($data as $item){
            //$response[] = ['UMRN' => $item['UMRN'], 'CUST_NAME' => $item['CUST_NAME'], 'FREQUENCY' => $item['FREQUENCY'], 'AMOUNT' => $item['AMOUNT'], 'STATUS' => $item['STATUS']];

            if(isset($item['CUST_REFNO']) && !empty($item['CUST_REFNO'])){
                $mandate = Mandate::where('consumer_application_id',$item['CUST_REFNO']);
                $mandateCheck = $mandate;
                if(isset($mandateCheck->first()->id)){
                    $mandate->update(['umrn'=>$item['UMRN']]);
                }
            }
        }

        //(new CSV())->save($response, 'mandates');
    }

    /**
     * @return array
     */
    public function sheets(): array
    {
        // TODO: Implement sheets() method.
        return ['New Mandate','Mandate Summary'];
    }
}