public List<salesOrderEntity> GetNewMagentoOrders() { var table = new ProcessedOrders(); var lastOrder = table.All(where: "where store = @0", args: "Magento", orderBy: "storeentityid DESC", limit: 1).First(); filters mf = new filters(); complexFilter[] cpf = new complexFilter[1]; complexFilter mcpf = new complexFilter(); mcpf.key = "entity_id"; //"increment_id";// associativeEntity mas = new associativeEntity(); mas.key = "gt"; mas.value = lastOrder.StoreEntityId; //"CDO00022569"; mcpf.value = mas; cpf[0] = mcpf; mf.complex_filter = cpf; salesOrderEntity[] soe = _mservice.salesOrderList(_mlogin, mf); return soe.ToList(); }
public void ProcessUpdatedMagentoOrders(List<SalesOrder> salesOrders) { foreach (var order in salesOrders) { dynamic processedOrderTable = new ProcessedOrders(); var processedOrder = processedOrderTable.First(StoreEntityId:order.NativeId); if(processedOrder != null) { NLog.LogManager.GetLogger("CanceledOrder").Debug("Existing Order: {0} Old Status: {1} Updated Status: {2} ", processedOrder.OrderNumber, processedOrder.StoreStatus, order.StoreStatus); if(order.StoreStatus.ToLower() == "canceled") { if(CanNotCancelOrderInAx(order.OrderId)) NLog.LogManager.GetLogger("CanceledOrder").Info("Order : {0} Could not cancel order in AX because of existing Confirmation, Picking List, or Invoice.", order.OrderId); else if(IsAEditedOrder(salesOrders,order.OrderId)) NLog.LogManager.GetLogger("CanceledOrder").Info("Order : {0} Appears to be canceled do to a edit in Magento so will not be canceled in AX.",order.OrderId); else CancelOrderInAx(order.OrderId); } processedOrder.StoreStatus = order.StoreStatus; processedOrder.StoreUpdatedAt = order.StoreUpdatedAt; processedOrderTable.Save(processedOrder); } else { NLog.LogManager.GetCurrentClassLogger().Info("New {0}", order.OrderId); //don't insert order edited in magento in AX if(order.OrderId.Contains("-")) ProcessOrderChange(order); else { CreateAxSalesOrder(order, "Magento"); if(order.StoreStatus.ToLower() == "canceled" && !IsAEditedOrder(salesOrders,order.OrderId)) { CancelOrderInAx(order.OrderId); } if(IsAEditedOrder(salesOrders,order.OrderId)) NLog.LogManager.GetLogger("CanceledOrder").Info("New Order : {0} Appears to be canceled do to a edit in Magento so will not be canceled in AX.",order.OrderId); } } } }
public List<salesOrderEntity> GetUpdateMagentoOrders() { var table = new ProcessedOrders(); var lastUpdatedOrder = table.All(where: "where store = @0", args: "Magento", orderBy: "storeupdatedat DESC", limit: 1).First(); var d = lastUpdatedOrder.StoreUpdatedAt.AddSeconds(-2).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); filters mf = new filters(); complexFilter[] cpf = new complexFilter[1]; complexFilter mcpf = new complexFilter(); mcpf.key = "updated_at"; associativeEntity mas = new associativeEntity(); mas.key = "gt"; mas.value = lastUpdatedOrder.StoreUpdatedAt.AddSeconds(-2).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); mcpf.value = mas; cpf[0] = mcpf; mf.complex_filter = cpf; salesOrderEntity[] soe = _mservice.salesOrderList(_mlogin, mf); return soe.ToList(); }
public void CreateProcessedOrder(SalesOrder order, string store) { var processedOrder = new ProcessedOrders(); var newId = processedOrder.Insert(new { Store = store, StoreEntityId = order.NativeId, OrderNumber = order.OrderId, CreatedAt = DateTime.Now, StoreCreatedAt = order.StoreCreatedAt, StoreStatus = order.StoreStatus, ShipStreet = order.DeliveryStreet, StoreUpdatedAt = order.StoreUpdatedAt }); }