JEMBOT MAWOT Bypass Shell

Current Path : /home/cinepatreb/billetterie/src/Core/Domain/Order/QueryResult/
Upload File :
Current File : /home/cinepatreb/billetterie/src/Core/Domain/Order/QueryResult/OrderForViewing.php

<?php
/**
 * Copyright since 2007 PrestaShop SA and Contributors
 * PrestaShop is an International Registered Trademark & Property of PrestaShop SA
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.md.
 * It is also available through the world-wide-web at this URL:
 * https://opensource.org/licenses/OSL-3.0
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@prestashop.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to https://devdocs.prestashop.com/ for more information.
 *
 * @author    PrestaShop SA and Contributors <contact@prestashop.com>
 * @copyright Since 2007 PrestaShop SA and Contributors
 * @license   https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 */

namespace PrestaShop\PrestaShop\Core\Domain\Order\QueryResult;

use DateTimeImmutable;

/**
 * Contains data about order for viewing
 */
class OrderForViewing
{
    /**
     * @var int
     */
    private $orderId;

    /**
     * @var OrderCustomerForViewing
     */
    private $customer;

    /**
     * @var OrderShippingAddressForViewing
     */
    private $shippingAddress;

    /**
     * @var OrderInvoiceAddressForViewing
     */
    private $invoiceAddress;
    /**
     * @var string
     */
    private $reference;

    /**
     * @var OrderProductsForViewing
     */
    private $products;

    /**
     * @var string
     */
    private $taxMethod;

    /**
     * @var OrderHistoryForViewing
     */
    private $history;

    /**
     * @var OrderDocumentsForViewing
     */
    private $documents;

    /**
     * @var OrderShippingForViewing
     */
    private $shipping;

    /**
     * @var OrderReturnsForViewing
     */
    private $returns;

    /**
     * @var OrderPaymentsForViewing
     */
    private $payments;

    /**
     * @var bool
     */
    private $isValid;

    /**
     * @var OrderMessagesForViewing
     */
    private $messages;

    /**
     * @var int
     */
    private $currencyId;

    /**
     * @var bool
     */
    private $isDelivered;

    /**
     * @var bool
     */
    private $isShipped;

    /**
     * @var OrderPricesForViewing
     */
    private $prices;

    /**
     * @var bool
     */
    private $isTaxIncluded;

    /**
     * @var bool
     */
    private $hasBeenPaid;

    /**
     * @var bool
     */
    private $hasInvoice;

    /**
     * @var OrderDiscountsForViewing
     */
    private $discounts;

    /**
     * @var LinkedOrdersForViewing
     */
    private $linkedOrders;

    /**
     * @var DateTimeImmutable
     */
    private $createdAt;

    /**
     * @var bool
     */
    private $isVirtual;

    /**
     * @var int
     */
    private $carrierId;

    /**
     * @var string
     */
    private $carrierName;

    /**
     * @var int
     */
    private $shopId;

    /**
     * @var bool
     */
    private $invoiceManagementIsEnabled;

    /**
     * @var OrderSourcesForViewing
     */
    private $sources;

    /**
     * @var string
     */
    private $shippingAddressFormatted;

    /**
     * @var string
     */
    private $invoiceAddressFormatted;

    /**
     * @var string
     */
    private $note;

    /**
     * @param int $orderId
     * @param int $currencyId
     * @param int $carrierId
     * @param string $carrierName
     * @param int $shopId
     * @param string $reference
     * @param bool $isVirtual
     * @param string $taxMethod
     * @param bool $isTaxIncluded
     * @param bool $isValid
     * @param bool $hasBeenPaid
     * @param bool $hasInvoice
     * @param bool $isDelivered
     * @param bool $isShipped
     * @param bool $invoiceManagementIsEnabled
     * @param DateTimeImmutable $createdAt
     * @param OrderCustomerForViewing|null $customer
     * @param OrderShippingAddressForViewing $shippingAddress
     * @param OrderInvoiceAddressForViewing $invoiceAddress
     * @param OrderProductsForViewing $products
     * @param OrderHistoryForViewing $history
     * @param OrderDocumentsForViewing $documents
     * @param OrderShippingForViewing $shipping
     * @param OrderReturnsForViewing $returns
     * @param OrderPaymentsForViewing $payments
     * @param OrderMessagesForViewing $messages
     * @param OrderPricesForViewing $prices
     * @param OrderDiscountsForViewing $discounts
     * @param OrderSourcesForViewing $sources
     * @param LinkedOrdersForViewing $linkedOrders
     * @param string $shippingAddressFormatted
     * @param string $invoiceAddressFormatted
     * @param string $note
     */
    public function __construct(
        int $orderId,
        int $currencyId,
        int $carrierId,
        string $carrierName,
        int $shopId,
        string $reference,
        bool $isVirtual,
        string $taxMethod,
        bool $isTaxIncluded,
        bool $isValid,
        bool $hasBeenPaid,
        bool $hasInvoice,
        bool $isDelivered,
        bool $isShipped,
        bool $invoiceManagementIsEnabled,
        DateTimeImmutable $createdAt,
        ?OrderCustomerForViewing $customer,
        OrderShippingAddressForViewing $shippingAddress,
        OrderInvoiceAddressForViewing $invoiceAddress,
        OrderProductsForViewing $products,
        OrderHistoryForViewing $history,
        OrderDocumentsForViewing $documents,
        OrderShippingForViewing $shipping,
        OrderReturnsForViewing $returns,
        OrderPaymentsForViewing $payments,
        OrderMessagesForViewing $messages,
        OrderPricesForViewing $prices,
        OrderDiscountsForViewing $discounts,
        OrderSourcesForViewing $sources,
        LinkedOrdersForViewing $linkedOrders,
        string $shippingAddressFormatted = '',
        string $invoiceAddressFormatted = '',
        string $note = ''
    ) {
        $this->reference = $reference;
        $this->customer = $customer;
        $this->shippingAddress = $shippingAddress;
        $this->invoiceAddress = $invoiceAddress;
        $this->products = $products;
        $this->taxMethod = $taxMethod;
        $this->history = $history;
        $this->documents = $documents;
        $this->shipping = $shipping;
        $this->returns = $returns;
        $this->payments = $payments;
        $this->isValid = $isValid;
        $this->messages = $messages;
        $this->orderId = $orderId;
        $this->currencyId = $currencyId;
        $this->isDelivered = $isDelivered;
        $this->isShipped = $isShipped;
        $this->prices = $prices;
        $this->isTaxIncluded = $isTaxIncluded;
        $this->hasBeenPaid = $hasBeenPaid;
        $this->hasInvoice = $hasInvoice;
        $this->discounts = $discounts;
        $this->createdAt = $createdAt;
        $this->isVirtual = $isVirtual;
        $this->carrierId = $carrierId;
        $this->carrierName = $carrierName;
        $this->shopId = $shopId;
        $this->invoiceManagementIsEnabled = $invoiceManagementIsEnabled;
        $this->sources = $sources;
        $this->linkedOrders = $linkedOrders;
        $this->shippingAddressFormatted = $shippingAddressFormatted;
        $this->invoiceAddressFormatted = $invoiceAddressFormatted;
        $this->note = $note;
    }

    /**
     * @return int
     */
    public function getId(): int
    {
        return $this->orderId;
    }

    /**
     * @return int
     */
    public function getCurrencyId(): int
    {
        return $this->currencyId;
    }

    /**
     * @return int
     */
    public function getCarrierId(): int
    {
        return $this->carrierId;
    }

    public function getCarrierName(): string
    {
        return $this->carrierName;
    }

    /**
     * @return int
     */
    public function getShopId(): int
    {
        return $this->shopId;
    }

    /**
     * @return string
     */
    public function getReference(): string
    {
        return $this->reference;
    }

    /**
     * @return bool
     */
    public function isValid(): bool
    {
        return $this->isValid;
    }

    /**
     * @return OrderCustomerForViewing|null
     */
    public function getCustomer(): ?OrderCustomerForViewing
    {
        return $this->customer;
    }

    /**
     * @return OrderShippingAddressForViewing
     */
    public function getShippingAddress(): OrderShippingAddressForViewing
    {
        return $this->shippingAddress;
    }

    /**
     * @return OrderInvoiceAddressForViewing
     */
    public function getInvoiceAddress(): OrderInvoiceAddressForViewing
    {
        return $this->invoiceAddress;
    }

    /**
     * @return OrderProductsForViewing
     */
    public function getProducts(): OrderProductsForViewing
    {
        return $this->products;
    }

    /**
     * @return string
     */
    public function getTaxMethod(): string
    {
        return $this->taxMethod;
    }

    /**
     * @return OrderHistoryForViewing
     */
    public function getHistory(): OrderHistoryForViewing
    {
        return $this->history;
    }

    /**
     * @return OrderDocumentsForViewing
     */
    public function getDocuments(): OrderDocumentsForViewing
    {
        return $this->documents;
    }

    /**
     * @return OrderShippingForViewing
     */
    public function getShipping(): OrderShippingForViewing
    {
        return $this->shipping;
    }

    /**
     * @return OrderReturnsForViewing
     */
    public function getReturns(): OrderReturnsForViewing
    {
        return $this->returns;
    }

    /**
     * @return OrderPaymentsForViewing
     */
    public function getPayments(): OrderPaymentsForViewing
    {
        return $this->payments;
    }

    /**
     * @return bool
     */
    public function hasPayments(): bool
    {
        return count($this->payments->getPayments()) > 0;
    }

    /**
     * @return OrderMessagesForViewing
     */
    public function getMessages(): OrderMessagesForViewing
    {
        return $this->messages;
    }

    /**
     * @return bool
     */
    public function isDelivered(): bool
    {
        return $this->isDelivered;
    }

    /**
     * @return bool
     */
    public function isShipped(): bool
    {
        return $this->isShipped;
    }

    /**
     * @return OrderPricesForViewing
     */
    public function getPrices(): OrderPricesForViewing
    {
        return $this->prices;
    }

    /**
     * @return bool
     */
    public function isTaxIncluded(): bool
    {
        return $this->isTaxIncluded;
    }

    /**
     * @return bool
     */
    public function hasBeenPaid(): bool
    {
        return $this->hasBeenPaid;
    }

    /**
     * @return bool
     */
    public function hasInvoice(): bool
    {
        return $this->hasInvoice;
    }

    /**
     * @return OrderDiscountsForViewing
     */
    public function getDiscounts(): OrderDiscountsForViewing
    {
        return $this->discounts;
    }

    /**
     * @return LinkedOrdersForViewing
     */
    public function getLinkedOrders(): LinkedOrdersForViewing
    {
        return $this->linkedOrders;
    }

    /**
     * @return DateTimeImmutable
     */
    public function getCreatedAt(): DateTimeImmutable
    {
        return $this->createdAt;
    }

    /**
     * @return bool
     */
    public function isVirtual(): bool
    {
        return $this->isVirtual;
    }

    /**
     * @return bool
     */
    public function isInvoiceManagementIsEnabled(): bool
    {
        return $this->invoiceManagementIsEnabled;
    }

    /**
     * @return OrderSourcesForViewing
     */
    public function getSources(): OrderSourcesForViewing
    {
        return $this->sources;
    }

    /**
     * @return bool
     */
    public function isRefundable(): bool
    {
        /** @var OrderProductForViewing $product */
        foreach ($this->products->getProducts() as $product) {
            if ($product->getQuantity() > $product->getQuantityRefunded()) {
                return true;
            }
        }

        return $this->prices->getShippingRefundableAmountRaw()->isGreaterThanZero();
    }

    /**
     * @return string
     */
    public function getShippingAddressFormatted(): string
    {
        return $this->shippingAddressFormatted;
    }

    /**
     * @return string
     */
    public function getInvoiceAddressFormatted(): string
    {
        return $this->invoiceAddressFormatted;
    }

    /**
     * @return string
     */
    public function getNote(): string
    {
        return $this->note;
    }
}

xxxxx1.0, XXX xxxx