File: D:/HostingSpaces/sdo/sdoschoonmaak.nl/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;
}