Exemple #1
0
        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();
        }
Exemple #2
0
        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);
                    }
                }
            }
        }
Exemple #3
0
        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();
        }
Exemple #4
0
 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
                                       });
 }