<?php

namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use App\Models\Mail\MailLog;
use Illuminate\Queue\SerializesModels;

class ReportMail extends Mailable
{
    use Queueable, SerializesModels;
    public $data;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $address = 'tickets@ksstm.in';
        $subject = 'KSSTM Ticketing Application -- Reports';
        $name = 'KSSTM';

        $mailto = $this->data['mailto'];
        $report_name_data = $this->data['report_name_data'];
        $attached_data = $this->data['attached_data'];

        $this->view('emails.mailsend')
                    ->from($address, $name)
                    ->replyTo($mailto,'')
                    ->subject($subject)
                    ->with([ 'message' => $this->data['message'], 'name' => $this->data['mailto'], 'attachement_file_name'=>$this->data['attached_data'] ]);

                    foreach ($this->data['attached_data'] as $attached_files)
                    {
                        $this->attach($attached_files,[
                                 
                                 'mime' => 'application/pdf',
                                ]);
                    }
        ////insert into sms log table//////////////////
        $mailtime = date("Y-m-d H:i:s");
        $insert_maillog = MailLog::create([
                'mail_id' => $this->data['mailto'],
                'mail_content' => $this->data['message'],
                'subject' => $subject,
                'mail_time' => $mailtime,
            ]);
        //////////////////////////////////////////
        return $this;
    }

}
