<?php

namespace App\Mail;

use Carbon\Carbon;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Config;

use App\Models\{Supplier,Site};

class TrafficMismatch extends Mailable
{
	use Queueable, SerializesModels;

	public Supplier $aso;
	public Carbon $date;

	/**
	 * Create a new message instance.
	 *
	 * @return void
	 */
	public function __construct(Supplier $o,Carbon $date)
	{
		$this->aso = $o;
		$this->date = $date;
	}

	/**
	 * Build the message.
	 *
	 * @return $this
	 */
	public function build()
	{
		Config::set('site',$x=Site::find(1));  // @todo To auto determine;

		return $this
			->markdown('email.system.broadband_traffic_mismatch')
			->subject('Traffic Mismatch for '.$this->date)
			->with([
				'site'=>$x,
				'date'=>$this->date,
				'aso'=>$this->aso,
			]);
	}
}