public function createOrderReport(YousticeShopOrder $order, $code) { $data = $order->toArray(); $now = new Datetime(); $request_data = array('orderNumber' => $code, 'itemDescription' => $data['description'], 'itemName' => $data['name'], 'itemCurrency' => $data['currency'], 'itemPrice' => $data['price'], 'itemCode' => $data['id'], 'deliveryDate' => $data['deliveryDate'], 'orderDate' => $data['orderDate'] ? $data['orderDate'] : $now->format(Datetime::ISO8601), 'shopType' => $this->shop_software_type, 'image' => $order->getImage(), 'other' => $data['other']); $url = $this->generateUrl('services/Api/addTransaction'); $this->post($url, $request_data); $response = $this->responseToArray(); return $response['redirect_link']; }
protected function createShopOrder($order) { if (!is_array($order)) { $order = $this->getOrder($order); } $order_id = $order['id_order']; $currency = Currency::getCurrencyInstance((int) $order['id_currency']); $shop_order = YousticeShopOrder::create(); $shop_order->setDescription(''); if (empty($order)) { exit('Operation not allowed'); } $shop_order->setName('#' . $order['reference']); $shop_order->setCurrency($currency->iso_code); $shop_order->setPrice((double) $order['total_paid']); $shop_order->setId($order_id); $shop_order->setDeliveryDate($order['delivery_date']); $shop_order->setOrderDate($order['date_add']); $shop_order->setHref($this->createOrderReportHref($order_id)); $shop_order->setOrderDetailHref($this->createOrderDetailHref($order_id)); if ($order['total_paid_real'] >= $order['total_paid']) { $shop_order->setPaymentState(YousticeShopOrder::PAID); } if (strtotime($order['delivery_date']) > 0) { $shop_order->setDeliveryState(YousticeShopOrder::DELIVERED); } $shop_order->setOtherInfo(''); $order_object = new Order((int) $order_id); $products = $order_object->getProducts(); foreach ($products as $product) { $shop_product = $this->createShopProduct($product, $order_id); $shop_product->setCurrency($currency->iso_code); $shop_product->setDeliveryDate($order['delivery_date']); $shop_product->setOrderDate($order['date_add']); $shop_order->addProduct($shop_product); } return $shop_order; }
private function createOrderReportExecute(YousticeShopOrder $order) { $report = new YousticeReportsOrderReport($order->toArray()); $new_code = $this->local->createReport($report->getCode(), $this->user_id); $redirect_link = $this->remote->createOrderReport($order, $new_code); if ($redirect_link == null) { throw new YousticeFailedRemoteConnectionException(); } $this->setOftenUpdates(); return $redirect_link; }