HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/dndin.komma.pro/app/KommaApp/Shop/Orders/Kms/OrderServiceInterface.php
<?php

namespace App\KommaApp\Shop\Orders\Kms;

use App\KommaApp\Kms\Core\Sections\SectionServiceInterface;
use App\KommaApp\Shop\Orders\Models\Order;
use App\KommaApp\Users\Models\User;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;

interface OrderServiceInterface extends SectionServiceInterface
{
    /**
     * This method will save an model
     *
     * @param $model Model or null
     * @param Collection $sectionTabItems These must be filled with data. This is something you need to do yourself.
     *
     * @return mixed
     */
    public function saveModel(Model $model = null, Collection $sectionTabItems): Model;

    /**
     * Fills an order with customer info for both shipping as invoice information.
     * But does not save the order.
     *
     * @param Order $order
     * @param User $customer
     * @return Order
     */
    public function fillOrderWithCustomerInfo(Order $order, User $customer): Order;

    /**
     * Calculates the total order price by using the ordered productables
     *
     * @param Order $order
     * @return Order
     */
    public function calculateTotalOrderPrice(Order $order): Order;
}