public IActionResult Orders([FromBody] Bukimedia.PrestaSharp.Entities.order order)
        {
            // order olustururken her bir product icin orderDetail olusturmak gerekiyor
            // fakat orderdetail ayni zamanda order_id tutuyor, daha order olusturmadan orderdetail'e nasil
            // order id'si verebiliriz ki?

            //int cartId = (int) order.id_cart;
            //Bukimedia.PrestaSharp.Entities.cart cart = cartFactory.Get(cartId);


            //foreach (Bukimedia.PrestaSharp.Entities.cart_row cart_row in cart.associations.cart_rows)
            //{
            //    // sepetteki urunun idsi ile product cekiyoruz
            //    Bukimedia.PrestaSharp.Entities.product prd = productFactory.Get((int) cart_row.id_product);


            //    Bukimedia.PrestaSharp.Entities.order_detail od = new Bukimedia.PrestaSharp.Entities.order_detail();

            //    od.product_name = prd.name[0].Value;

            //}


            orderFactory.Add(order);

            return(Ok(order));
        }
Beispiel #2
0
 private void SynchronizeOrderRow(OrderEntity order, PsOrder psOrder, OrderRowEntity row)
 {
     if (psOrder.associations.order_rows.All(x => x.id != row.Id))
     {
         order.RemoveRow(row);
     }
 }
Beispiel #3
0
        private void SynchronizeOrderDetails(OrderEntity order, PsOrder psOrder)
        {
            foreach (var psRow in psOrder.associations.order_rows)
            {
                SynchronizePsOrderRow(order, psRow);
            }

            foreach (var row in order.GetRows().Where(x => x.Id > 0 && x.WebId > 0).ToList())
            {
                SynchronizeOrderRow(order, psOrder, row);
            }
        }
Beispiel #4
0
        private OrderEntity InsertOrder(PsOrder psOrder)
        {
            var customer = customerRepository.GetByWebId((int)psOrder.id_customer);

            PrestaShopSynchronizeException.TrowIfNull(customer, $"Customer not found (WebId: {psOrder.id_customer})");

            var order = OrderEntity.Create(customer, OrderSourceType.WWW);

            order.InvoiceAddress  = customer.GetMainAddress();
            order.DeliveryAddress = customer.GetDefaultDeliveryAddress();
            SetOrderStateToDefault(order);
            SynchronizeOrderDetails(order, psOrder);

            return(order);
        }
Beispiel #5
0
 private void UpdateOrder(OrderEntity order, Bukimedia.PrestaSharp.Entities.order psOrder)
 {
     //throw new NotImplementedException();
 }