<?php

namespace Karneaud\LavaliteKarneaudCargo\Workflow;

use Karneaud\LavaliteKarneaudCargo\Models\TblCourierOfficer;
use Karneaud\LavaliteKarneaudCargo\Notifications\TblCourierOfficerWorkflow as TblCourierOfficerNotifyer;
use Notification;

class TblCourierOfficerNotification
{

    /**
     * Send the notification to the users after complete.
     *
     * @param TblCourierOfficer $tbl_courier_officer
     *
     * @return void
     */
    public function complete(TblCourierOfficer $tbl_courier_officer)
    {
        return Notification::send($tbl_courier_officer->user, new TblCourierOfficerNotifyer($tbl_courier_officer, 'complete'));;
    }

    /**
     * Send the notification to the users after verify.
     *
     * @param TblCourierOfficer $tbl_courier_officer
     *
     * @return void
     */
    public function verify(TblCourierOfficer $tbl_courier_officer)
    {
        return Notification::send($tbl_courier_officer->user, new TblCourierOfficerNotifyer($tbl_courier_officer, 'verify'));;
    }

    /**
     * Send the notification to the users after approve.
     *
     * @param TblCourierOfficer $tbl_courier_officer
     *
     * @return void
     */
    public function approve(TblCourierOfficer $tbl_courier_officer)
    {
        return Notification::send($tbl_courier_officer->user, new TblCourierOfficerNotifyer($tbl_courier_officer, 'approve'));;

    }

    /**
     * Send the notification to the users after publish.
     *
     * @param TblCourierOfficer $tbl_courier_officer
     *
     * @return void
     */
    public function publish(TblCourierOfficer $tbl_courier_officer)
    {
        return Notification::send($tbl_courier_officer->user, new TblCourierOfficerNotifyer($tbl_courier_officer, 'publish'));;
    }

    /**
     * Send the notification to the users after archive.
     *
     * @param TblCourierOfficer $tbl_courier_officer
     *
     * @return void
     */
    public function archive(TblCourierOfficer $tbl_courier_officer)
    {
        return Notification::send($tbl_courier_officer->user, new TblCourierOfficerNotifyer($tbl_courier_officer, 'archive'));;

    }

    /**
     * Send the notification to the users after unpublish.
     *
     * @param TblCourierOfficer $tbl_courier_officer
     *
     * @return void
     */
    public function unpublish(TblCourierOfficer $tbl_courier_officer)
    {
        return Notification::send($tbl_courier_officer->user, new TblCourierOfficerNotifyer($tbl_courier_officer, 'unpublish'));;

    }
}