示例#1
0
        /// <summary>
        /// Get 3D Cart API response collection to insert data into custom table.
        /// </summary>
        public static void CreateProcessOrders(List <MyArray> arrays)
        {
            LUM3DCartImportProc graph = PXGraph.CreateInstance <LUM3DCartImportProc>();

            for (int i = 0; i < arrays.Count; i++)
            {
                LUM3DCartProcessOrder procOrder = new LUM3DCartProcessOrder()
                {
                    LineNumber     = i + 1,
                    ProcessID      = GetProcessID(graph),
                    InvoiceNumber  = arrays[i].InvoiceNumber,
                    OrderID        = arrays[i].OrderID.ToString(),
                    CustomerID     = arrays[i].CustomerID == 0 ? null : arrays[i].CustomerID.ToString(),
                    OrderDate      = arrays[i].OrderDate,
                    OrderStatusID  = arrays[i].OrderStatusID.ToString(),
                    OrderAmount    = (decimal)arrays[i].OrderAmount,
                    SalesTaxAmt    = (decimal)(arrays[i].SalesTax + arrays[i].SalesTax2),
                    LastUpdated    = arrays[i].LastUpdate,
                    BillingEmailID = arrays[i].BillingEmail,
                    Processed      = false
                };

                if (LUM3DCartProcessOrder.UK.Find(graph, procOrder.OrderID, procOrder.InvoiceNumber) == null)
                {
                    graph.ImportOrderList.Cache.Insert(procOrder);
                }
            }

            graph.Actions.PressSave();
        }
示例#2
0
        public static void PrepareRecords(LUM3DCartSetup curSetup, DateTime?endDate)
        {
            LUM3DCartImportProc graph = PXGraph.CreateInstance <LUM3DCartImportProc>();

            LUM3DCartProcessOrder processOrder = graph.ImportOrderList.Current;

            if (processOrder == null)
            {
                try
                {
                    DeleteWrkTableRecs();
                    CreateProcessOrders(GetResponse(curSetup,
                                                    string.Format("3dCartWebAPI/v2/Orders?datestart={0}&limit={1}&orderstatus={2}", endDate.Value.AddDays(-7), 1000, ThreeDCartOrderStatus.New)).Result);
                }
                catch (Exception ex)
                {
                    PXProcessing.SetError <LUM3DCartProcessOrder>(ex.Message);
                    throw;
                }
            }
        }