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)); }
private void SynchronizeOrderRow(OrderEntity order, PsOrder psOrder, OrderRowEntity row) { if (psOrder.associations.order_rows.All(x => x.id != row.Id)) { order.RemoveRow(row); } }
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); } }
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); }
private void UpdateOrder(OrderEntity order, Bukimedia.PrestaSharp.Entities.order psOrder) { //throw new NotImplementedException(); }