PHP code example of alex-kalanis / pohoda

1. Go to this page and download the library: Download alex-kalanis/pohoda library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

alex-kalanis / pohoda example snippets


use kalanis\Pohoda;

$pohoda = new Pohoda('ICO');

// create file
$pohoda->open($filename, 'i_obj1', 'Import orders');

$partnerIdentityAddress = new Pohoda\Type\Dtos\AddressTypeDto();
$partnerIdentityAddress->name = $billing_name;
$partnerIdentityAddress->street => $billing_street;
$partnerIdentityAddress->city => $billing_city;
$partnerIdentityAddress->zip => $billing_zip;
$partnerIdentityAddress->email => $email;
$partnerIdentityAddress->phone => $phone;

$partnerShipAddress = new Pohoda\Type\Dtos\ShipToAddressDto();
$partnerShipAddress->name = $shipping_name;
$partnerShipAddress->street => $shipping_street;
$partnerShipAddress->city => $shipping_city;
$partnerShipAddress->zip => $shipping_zip;
$partnerShipAddress->email => $email;
$partnerShipAddress->phone => $phone;

$partnerIdentity = new Pohoda\Type\Dtos\AddressDto();
$partnerIdentity->address = $partnerIdentityAddress;
$partnerIdentity->shipToAddress = $partnerShipAddress;

$orderHeaderDto = new Pohoda\Order\HeaderDto();
$orderHeaderDto->numberOrder = $order_number;
$orderHeaderDto->isReserved = true;
$orderHeaderDto->date = $created;
$orderHeaderDto->text = '...';
$orderHeaderDto->partnerIdentity = $partnerIdentity;

$orderDto = new Pohoda\Order\OrderDto();
$orderDto->header = $orderHeaderDto;

// create order
$order = $pohoda->createOrder($orderDto);

// add items
foreach ($items as $item) {

    $homeCurrency = new Pohoda\Type\Dtos\CurrencyItemDto();
    $homeCurrency->unitPrice = $item->unit_price;
    
    $stockItem = new Pohoda\Type\Dtos\StockItemDto();
    $stockItem->stockItem = [
        'id' => $item->pohoda_id
    ];

    $itemDto = new Pohoda\Order\ItemDto();
    $itemDto->code => $item->code;
    $itemDto->text => $item->text;
    $itemDto->quantity => $item->quantity;
    $itemDto->payVAT => false;
    $itemDto->rateVAT => $item->rate;
    $itemDto->homeCurrency = $homeCurrency;
    $itemDto->stockItem = $stockItem;

    $order->addItem($itemDto);
}

// add summary
$summaryDto = new Riesenia\Pohoda\Order\SummaryDto();
$summaryDto->roundingDocument = 'none';
$order->addSummary($summaryDto);

// add order to import (identified by $order_number)
$pohoda->addItem($order_number, $order);

// finish import file
$pohoda->close();

use kalanis\Pohoda;

$pohoda = new Pohoda('ICO');

// create request for export
$pohoda->open($filename, 'e_zas1', 'Export stock');

$requestDto = new Pohoda\ListRequest\ListRequestDto();
$requestDto->type = 'Stock';

$request = $pohoda->createListRequest($requestDto);

// optional filter
$request->addUserFilterName(
    Pohoda\ListRequest\UserFilterNameDto::init('MyFilter')
);
$pohoda->addItem('Export 001', $request);

$pohoda->close();

// load file
$pohoda->loadStock($filename);

while ($stock = $pohoda->next()) {
    // access header
    $header = $stock->children('stk', true)->stockHeader;

    // ...
}

use kalanis\Pohoda;

$pohoda = new Pohoda('ICO');

// create request for deletion
$pohoda->open($filename, 'd_zas1', 'Delete stock');

$stock = $pohoda->createStock(null);

$stock->addActionType('delete', [
    'code' => $code
]);

$pohoda->addItem($code, $stock);

$pohoda->close();

use kalanis\Pohoda;

class Capitalizer implements \Riesenia\Pohoda\ValueTransformer\ValueTransformerInterface
{
    public function transform(string $value): string
    {
        return \strtoupper($value);
    }
}

$pohoda = new Pohoda('ICO');

// Register the capitalizer to be used to capitalize values
$pohoda->getTransformerListing()->addTransformer(new Capitalizer());

...