Exemple #1
0
 /**
  * update order into db
  * @param object $order
  * @param array $data
  * @return boolean
  */
 public function updateOrder($order, $data)
 {
     $total_price = 0;
     $this->update[] = $data;
     if (isset($order->IDЗаказПокупателя)) {
         $order_id['external_id'] = (string) $order->IDЗаказПокупателя;
         $order_id['id'] = (string) $order->IDWebЗаказПокупателя;
     } else {
         $order_id['external_id'] = (string) $order->ID;
         $order_id['id'] = (string) $order->IDWeb;
     }
     if (isset($order->Строки)) {
         $this->ci->db->where('order_id', $order_id['id'])->delete('shop_orders_products');
         foreach ($order->Строки as $key => $product) {
             $data = array();
             $data['quantity'] = (int) $product->Количество;
             $data['price'] = (double) $product->Цена;
             $data['external_id'] = $product->IDДокумента . '';
             $product_i18n = is_product_i18n($product->IDWebНоменклатура . '', $this->products_i18n);
             if ($product_i18n) {
                 $data['product_id'] = $product_i18n['id'];
                 $data['product_name'] = $product_i18n['name'];
                 $data['variant_name'] = $product_i18n['name'];
                 $data['variant_id'] = $product_i18n['varId'];
             } else {
                 return false;
             }
             //                if (is_orders_product($product->IDWebДокумента . '', $this->orders_products, $product_i18n['id'])) {
             //                    $data['id'] = $product->IDWebДокумента . '';
             //                    $this->update_order_products[] = $data;
             //                } else {
             $data['order_id'] = $order_id['id'];
             $data['external_order_id'] = $order_id['external_id'];
             $data['external_id'] = $product->IDДокумента . '';
             $this->insert_order_products[] = $data;
             //                }
             $total_price += (int) $product->Сумма;
         }
         //update order total price
         $data = array();
         $data['total_price'] = $total_price;
         $data['external_id'] = $order->ID . '';
         $data['id'] = $order_id['id'];
         $this->update[] = $data;
     }
 }
Exemple #2
0
 /**
  * update order into db
  * @param object $order
  * @param array $data
  * @return boolean
  */
 public function updateOrder($order, $data)
 {
     $total_price = 0;
     $this->update[] = $data;
     $order_id = is_order($order->ID . '', $this->orders);
     if (isset($order->Строки)) {
         foreach ($order->Строки as $product) {
             $data = array();
             $data['quantity'] = (int) $product->Количество;
             $data['price'] = (double) $product->Цена;
             $data['external_id'] = $product->IDДокумента . '';
             $product_i18n = is_product_i18n($product->IDНоменклатура . '', $this->products_i18n);
             if ($product_i18n) {
                 $data['product_id'] = $product_i18n['id'];
                 $data['product_name'] = $product_i18n['name'];
                 $data['variant_name'] = $product_i18n['name'];
                 $data['variant_id'] = $product_i18n['varId'];
             } else {
                 return false;
             }
             if (is_orders_product($product->IDДокумента . '', $this->orders_products)) {
                 $this->update_order_products[] = $data;
             } else {
                 $data['order_id'] = $order_id['id'];
                 $data['external_id'] = $product->IDДокумента . '';
                 $this->insert_order_products[] = $data;
             }
             $total_price += (int) $product->Сумма;
         }
         //update order total price
         $data = array();
         $data['total_price'] = $total_price;
         $data['external_id'] = $order->ID . '';
         $this->update[] = $data;
     }
 }