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'];
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }