'processPriceList', ]; } public function processPriceList(array $item): void { $priceListId = $this->znzUtil->getMapping(static::getType(), $item['CenovaUroven']); if ($item['meta']['delete'] ?? false) { if ($priceListId) { sqlQueryBuilder() ->delete('pricelists') ->where(Operator::equals(['id' => $priceListId])) ->execute(); } return; } if (!$priceListId) { $priceListId = sqlGetConnection()->transactional(function () use ($item) { sqlQueryBuilder() ->insert('pricelists') ->directValues( [ 'name' => $item['Nazev'], 'currency' => $item['Mena'], ] ) ->execute(); $priceListId = (int) sqlInsertId(); $this->znzUtil->createMapping(static::getType(), $item['CenovaUroven'], $priceListId); sqlQueryBuilder() ->update('znz_pricelists') ->directValues(['is_default' => $item['Vychozi'] ? 1 : 0]) ->where(Operator::equals(['id_znz' => $item['CenovaUroven']])) ->execute(); return $priceListId; }); } sqlQueryBuilder() ->update('pricelists') ->directValues( [ 'name' => $item['Nazev'], ] ) ->where(Operator::equals(['id' => $priceListId])) ->execute(); } }