<?php

namespace App\Console\Commands;

use Carbon\Carbon;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Yajny\EventsYj\Library\Boostiny\Conversion;

class BoostinyOrders extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'boostiny:orders';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Send Orders to Boostiny API';

    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $boostinyOrders = DB::table('boostiny_clicks')
            ->join('sales', 'boostiny_clicks.click_id', '=', 'sales.click_id')
            ->join('stores', 'sales.store_id', '=', 'stores.id')
            ->select('sales.comission', 'sales.updated_at', 'sales.created_at', 'boostiny_clicks.boostiny_click_id', 'sales.currency', 'sales.order_id', 'boostiny_clicks.region_code', 'stores.slug')
            ->get();
        foreach ($boostinyOrders as $boostinyOrder) {
            $region_code = $boostinyOrder->region_code;
            switch ($boostinyOrder->currency) {
                case "SAR":
                    $region_code = 'sa';
                    break;
                case "EGP":
                    $region_code = 'eg';
                    break;
                case "AED":
                    $region_code = 'ae';
                    break;
            }
            $orderDetails=DB::table("sales")->where('click_id',$boostinyOrder->click_id)
                ->join('stores', 'sales.store_id', '=', 'stores.id')
                ->select('sales.id', 'stores.slug','sales.currency','sales.comission', 'sales.currency','sales.order_id')
                ->get();
            if (count($orderDetails)>0) {
                $total_amounts = 0;
                foreach ($orderDetails as $orderDetail) {
                    $orders++;
                    $total_amounts += $orderDetail->comission;

                }
            }
            $bostinyConversion = new Conversion($region_code, 'USD',$total_amounts, $boostinyOrder->boostiny_click_id, $boostinyOrder->order_id, $boostinyOrder->created_at, $boostinyOrder->slug);
            $bostinyConversion->callPostback();
        }
    }
}
