Untitled

 avatar
unknown
plain_text
2 months ago
1.5 kB
2
Indexable
<?php

namespace App\Sales;

use Api\Bundle\CoreBundle\Entity\Sale\Sale;
use Api\Bundle\CoreBundle\Entity\Sale\SaleItem;
use Api\Bundle\CoreBundle\ExternalApi\Core\ExternalApiNormalizer;
use Api\Bundle\CoreBundle\ExternalApi\Core\Manager\AbstractManager;
use App\Sales\DTO\OscaroSales;

class OscaroSalesNormalizer extends AbstractManager
{
    public function __construct(ExternalApiNormalizer $apiNormalizer)
    {
        parent::__construct($apiNormalizer, OscaroSales::class);

    }

    public function NormalizeSales(Sale $sale)
    {
        $array = [];
        $array['externalId'] = $sale->getUser()->getExternalId();
        $array['email'] = $sale->getUser()->getEmail();
        $array['saleId'] = $sale->getId();
        $array['reference'] = $sale->getReference();
        $arraySale = [];
        $i = 0;
        /** @var SaleItem $item */
        foreach ($sale->getItems() as $item) {
            $arraySale[$i]['saleItems']['id'] = $item->getId();
            $arraySale[$i]['saleItems']['sku'] = $item->getSku();
            $arraySale[$i]['saleItems']['brand'] = $item->getBrand();
            $arraySale[$i]['saleItems']['quantity'] = $item->getQuantity();
            $arraySale[$i]['saleItems']['price'] = $item->getPublicPrice();
            $i++;
        }
        $array = array_merge($array, $arraySale);
        return $array;

    }

    public function paginate(array $sale)
    {
        $count = \count($sale);
        return $this->generatePaginator($sale, 1, 0, $count);
    }

}
Editor is loading...
Leave a Comment