Ejemplo n.º 1
0
        public void GetOrders_Committed_SingleItem_OrderStatus_Active()
        {
            // Arrange
            IGetOrdersCall getOrdersCall = A.Fake <IGetOrdersCall>(x => x.OnFakeCreated(
                                                                       t => t.ApiContext.ApiLogManager = new ApiLogManager()));

            A.CallTo(() => getOrdersCall.GetOrders(
                         A <TimeFilter> .Ignored,
                         A <TradingRoleCodeType> .Ignored,
                         A <OrderStatusCodeType> .Ignored)).Returns(
                new OrderTypeCollection()
            {
                new OrderType()
                {
                    OrderStatus      = OrderStatusCodeType.Active,
                    TransactionArray = new TransactionTypeCollection()
                    {
                        new TransactionType()
                        {
                            Item = new ItemType()
                            {
                            },
                            ShippingDetails = new ShippingDetailsType()
                            {
                            }
                        }
                    }
                }
            });

            // Act
            List <Transaction> rs = eBayClass.GetOrders(getOrdersCall,
                                                        DateTime.Now, DateTime.Now);

            // Assert
            rs[0].OrderStatus = OrderStatusCodeType.Active;
        }
Ejemplo n.º 2
0
        public static List <Transaction> GetOrders(IGetOrdersCall AGetOrdersCall,
                                                   DateTime DateFrom, DateTime DateTo, bool Active = true, bool Completed = true,
                                                   bool MinimumOutput = false)
        {
            AGetOrdersCall.ApiContext.ApiLogManager.RecordMessage("Starting a GetOrders call " + (MinimumOutput ? "with minimum output" : "with normal output"));
            Blink();

            Stopwatch s = Stopwatch.StartNew();

            AGetOrdersCall.DetailLevelList = new DetailLevelCodeTypeCollection(new DetailLevelCodeType[] { DetailLevelCodeType.ReturnAll });
            AGetOrdersCall.ApiContext.ApiLogManager.RecordMessage(String.Format("Getting item list - START, page {0}", 1));
            Blink();

            TimeFilter createTime = new TimeFilter()
            {
                TimeFrom = DateFrom.Subtract(TimeDiff),
                TimeTo   = DateTo.Subtract(TimeDiff)
            };

            if (MinimumOutput)
            {
                AGetOrdersCall.ApiRequest.OutputSelector = new StringCollection(new string[] { "TransactionID", "PaginationResult", "SellingManagerSalesRecordNumber", "ItemID", "CreatedTime" });
            }

            OrderStatusCodeType filterStatus = OrderStatusCodeType.All;

            if (Active && !Completed)
            {
                filterStatus = OrderStatusCodeType.Active;
            }
            else if (Completed && !Active)
            {
                filterStatus = OrderStatusCodeType.Completed;
            }

            int Page = 1;
            List <Transaction> res = new List <Transaction>();

            do
            {
                AGetOrdersCall.Pagination = new PaginationType()
                {
                    EntriesPerPage = 200, PageNumber = Page
                };
                OrderTypeCollection items = AGetOrdersCall.GetOrders(createTime,
                                                                     TradingRoleCodeType.Seller, filterStatus);
                Blink();

                AGetOrdersCall.ApiContext.ApiLogManager.RecordMessage(String.Format("Getting item list - SUCCESS, page {0}", Page));
                Blink();

                foreach (OrderType i in items)
                {
                    foreach (TransactionType j in i.TransactionArray)
                    {
                        res.Add(new Transaction()
                        {
                            OrderID     = i.OrderID, TransactionId = j.TransactionID,
                            ItemID      = j.Item.ItemID, SellingManagerRecordNumber = j.ShippingDetails.SellingManagerSalesRecordNumber,
                            CreatedTime = i.CreatedTime, OrderStatus = i.OrderStatus
                        });

                        AGetOrdersCall.ApiContext.ApiLogManager.RecordMessage(String.Format("TransactionID {0}\tItem ID{1}\tCreated on {2}",
                                                                                            i.OrderID, j.Item.ItemID, i.CreatedTime));
                    }
                }
                Blink();

                Page++;
            } while (Page <= AGetOrdersCall.PaginationResult.TotalNumberOfPages);

            eBayClass.Metrics.GenerateReport(eBayClass.LogManager.ApiLoggerList[0]);
            eBayClass.LogManager.RecordMessage("Done; ms: " + s.ElapsedMilliseconds.ToString());
            Blink();

            return(res);
        }