<?php

declare(strict_types=1);

namespace KupShop\OrderingBundle\Feed\Wrapper;

use KupShop\FeedsBundle\Wrapper\BaseWrapper;

class OrderDiscountWrapper extends BaseWrapper
{
    /** Název slevy */
    public function field_name(): string
    {
        return $this->object['name'];
    }

    /** Hodnota slevy */
    public function field_totalPrice(): float
    {
        return $this->object['totalPrice']->asFloat();
    }

    /** Rozpočítané (rozpadlé) slevy k položkám objednávky.
     *
     * Seznam dvojic ID položky objednávky => cena
     */
    public function field_itemsPartials(): array
    {
        return array_map(function (\Decimal $decimal) { return $decimal->asFloat(); }, $this->object['itemsPartials'] ?? []);
    }

    /** Název slevy v administraci */
    public function field_nameAdmin(): string
    {
        return $this->object['nameAdmin'] ?? '';
    }

    /** Typ slevy */
    public function field_type(): string
    {
        return $this->object['type'] ?? '';
    }
}
