}
$single = $single == 'each_product';
$at_least_1_item = false;
$db->autoCommit(false);
$delivery = new Delivery();
$delivery->description = ClientData::post('description');
$delivery->user = $_SESSION['login'];
$delivery->commit();
$stock_change_amount = 0;
for ($i = 0; $i < count($ean); $i++) {
    if (empty($ean[$i])) {
        continue;
    }
    $at_least_1_item = true;
    try {
        $product = Product::from_ean($ean[$i]);
        if ($product == null) {
            $product = new Product();
            $product->ean = $ean[$i];
        }
        $contents = new DeliveryContent();
        if ($single) {
            $product->value = ($product->value * $product->count + $purchase_price[$i] * $count[$i]) / ($product->count + $count[$i]);
            $contents->cost = $purchase_price[$i];
            $stock_change_amount += $purchase_price[$i] * $count[$i];
        } else {
            $product->value = ($product->value * $product->count + $purchase_price[$i]) / ($product->count + $count[$i]);
            $contents->cost = $purchase_price[$i] / $count[$i];
            $stock_change_amount += $purchase_price[$i];
        }
        $product->count += $count[$i];