<?php

namespace Yajny\MailYj\Mails;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Support\Facades\Cache;
use Yajny\Member\Models\Currencies;

class NewPayoutEmail extends BaseMail
{
    public $user;
    public $template_name;
    public $lang;
    public $payout;
    public $payoutCurrency;

    /**
     * Create a new message instance.
     *
     * @param $user
     * @param $payout
     */
    public function __construct($user, $payout)
    {
        $allCurrencies = Cache::rememberForever('currencies', function () {
            return Currencies::all()->mapWithKeys(function ($currency) {
                return [$currency->iso_code => $currency];
            });
        });

        $this->user = $user;
        $this->payout = $payout;
        $this->template_name = 'member.payout.new';
        $this->lang = $user->user_lang;
        $this->payoutCurrency = $allCurrencies[$payout->local_currency];
        parent::__construct();
    }
}
