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/slenders/slenders.nl/app/Komma/Shop/Products/Product/ProductServiceInterface.php
<?php
/**
 * Created by PhpStorm.
 * User: julesgraus
 * Date: 23/02/2018
 * Time: 13:37
 */

namespace App\Komma\Shop\Products\Product;

use App\Komma\Kms\Core\Sections\SectionServiceInterface;
use App\Komma\Shop\Orders\Models\Order;
use App\Komma\Shop\Orders\Product\OrderedProduct;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Query\Builder;


/**
 * Class ProductService
 * @package App\Komma\Shop\Products
 */
interface ProductServiceInterface 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;

    /**
     * Return all products that are not in groups
     *
     * @return Builder
     */
    public function modelsWithoutGroups();


    /**
     * Makes ordered products from products
     *
     * @param Product $product
     * @param Order $order
     * @return null|OrderedProduct|\Illuminate\Support\Collection
     */
    public static function createOrderedProductFromProduct(Product $product, Order $order);
}