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; }
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); }