<?php

namespace App\Http\Controllers\Network;
use App\Http\Controllers\Controller;
use Yajny\EventsYj\Events\SaleNew;
use Yajny\Member\Models\Sale;
use Yajny\Member\Models\Member;
use Yajny\EventsYj\Events\BonusNew;
use Yajny\EventsYj\Events\SaleUpdated;
use Yajny\Member\Models\Click;
use Yajny\Member\Models\UserSales;

class Dummy extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    //

    public function getSales($network, $start_days,$end_days )
    {

    //     $sale = Sale::find(100);
    //     $sale->comission = $sale->comission+1;
    //     $sale->save();
    //    $usale = UserSales::find(28);

    //    $user = Member::find(9);

    //    $user->updateCashback($sale->getChanges(),$usale,$sale );



        $sales = [
            [
               'transaction_id'=> 1234420757704,
               'order_id' => rand(2222,9999999999999),
               'click_id' => 5,
               'campaign_id' => rand(2222,9999999999999),
               'transaction_time' => strtotime('now - 3 days'),
                'order_amount'=> 600,
                'comission' => 40,
                'currency' => 'USD',
                'network_status' => 'Approved',
            ],
           /*
            [
                'transaction_id'=> rand(2222,9999999999999),
                'order_id' => rand(2222,9999999999999),
                'click_id' => 2,
                'campaign_id' => rand(2222,9999999999999),
                'transaction_time' => strtotime('now - 4 days'),
                 'order_amount'=> 9212,
                 'comission' => 292,
                 'currency' => 'USD',
                 'network_status' => 'HOLD',
             ],
             [
                'transaction_id'=> rand(2222,9999999999999),
                'order_id' => rand(2222,9999999999999),
                'click_id' => 3,
                'campaign_id' => rand(2222,9999999999999),
                'transaction_time' => strtotime('now - 7 days'),
                 'order_amount'=> 527,
                 'comission' => 31,
                 'currency' => 'USD',
                 'network_status' => 'Rejected',
             ]
                ,
                [
                    'transaction_id'=> 7045458558949,
                    'order_id' => rand(2222,9999999999999),
                    'click_id' => 3,
                    'campaign_id' => rand(2222,9999999999999),
                    'transaction_time' => strtotime('now - 7 days'),
                     'order_amount'=> 220,
                     'comission' => 22,
                     'currency' => 'USD',
                     'network_status' => 'Approved',
                 ]*/
            ];


        foreach($sales as $nsale)
        {
           $sale = Sale::where('network_id',$network->id)->where('network_transaction_id',$nsale['transaction_id'])->first();
            if(!$sale)
            $sale = New Sale();

            if($sale->exists) $new = true;
            else $new = false;

            $sale->network_id = $network->id;
            $sale->network_transaction_id = $nsale['transaction_id'];
            $sale->order_id = $nsale['order_id'];
            $sale->click_id = $nsale['click_id'];
            $sale->transaction_time = date('Y-m-d H:i:s',$nsale['transaction_time']);
            $sale->order_amount = $nsale['order_amount'];
            $sale->comission = $nsale['comission'];
            $sale->currency = $nsale['currency'];
            $sale->network_status = $nsale['network_status'];
            $sale->setStatus($network->sale_statuses);
            $sale->save();

            if(!$new)
            event(new SaleNew($sale));
            else
            event( new SaleUpdated($sale,$sale->getChanges()) );
        }


    }


}
