コード例 #1
0
        public void WHEN_OrderTense_equal_PastOrders_SHOULD_return_right_request()
        {
            //Arrange
            var factory = new FindOrdersRequestFactory();

            //Act
            var param = new GetCustomerOrdersParam
            {
                CustomerId  = Guid.NewGuid(),
                CultureInfo = new CultureInfo("en-US"),
                Scope       = GetRandom.String(32),
                Page        = 2,
                OrderTense  = OrderTense.PastOrders
            };
            var request = factory.Create(param);

            //Assert
            ValidateRequest(request, param, 10, false);
        }
コード例 #2
0
        /// <summary>
        /// Gets the customer orders asynchronous.
        /// </summary>
        /// <param name="param">The get customer orders parameter.</param>
        /// <returns></returns>
        public virtual async Task <OrderQueryResult> GetCustomerOrdersAsync(GetCustomerOrdersParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.CultureInfo)), nameof(param));
            }
            if (param.CustomerId == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.CustomerId)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.Scope))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.Scope)), nameof(param));
            }

            var request = FindOrdersRequestFactory.Create(param);
            var result  = await OvertureClient.SendAsync(request).ConfigureAwait(false);

            return(result?.TotalCount > 0 ? result : null);
        }