コード例 #1
0
        private EbayOrderItem CreateOrderItem(EbayOrder order, TransactionType orderItemDto)
        {
            EbayOrderItem orderItem = new EbayOrderItem();

            string sku = orderItemDto.Variation == null ? orderItemDto.Item.SKU : orderItemDto.Variation.SKU;

            string listingID = orderItemDto.Item.ItemID;

            EbayListing listing = _marketplace.Listings.Single(p => p.Code.Equals(listingID));

            orderItem.ListingItem = listing.ListingItems.Single(p => p.Sku.Equals(sku));
            orderItem.Order       = order;
            orderItem.CreatedDate = orderItemDto.CreatedDate;
            orderItem.Code        = orderItemDto.OrderLineItemID;


            return(orderItem);
        }
コード例 #2
0
        private void PersistOrder(OrderType orderDto)
        {
            EbayOrder order = _dataContext.EbayOrders.SingleOrDefault(p => p.Code.Equals(orderDto.OrderID) && p.MarketplaceID == _marketplace.ID);

            if (order == null)
            {
                order               = new EbayOrder();
                order.Code          = orderDto.OrderID;
                order.MarketplaceID = _marketplace.ID;
                order.CreatedTime   = orderDto.CreatedTime;
            }

            order.BuyerID           = orderDto.BuyerUserID;
            order.OrderStatus       = orderDto.OrderStatus.ToString();
            order.SalesRecordNumber = orderDto.ShippingDetails.SellingManagerSalesRecordNumber.ToString();
            order.EbayPaymentStatus = orderDto.CheckoutStatus.eBayPaymentStatus.ToString();
            order.CheckoutStatus    = orderDto.CheckoutStatus.Status.ToString();
            order.PaymentMethod     = orderDto.CheckoutStatus.PaymentMethod.ToString();
            order.PaidTime          = orderDto.PaidTimeSpecified ? (DateTime?)orderDto.PaidTime : null;
            order.ShippedTime       = orderDto.ShippedTimeSpecified ? (DateTime?)orderDto.ShippedTime : null;
            order.PaidAmount        = Convert.ToDecimal(orderDto.AmountPaid.Value);
            order.CompanyName       = orderDto.ShippingAddress.CompanyName;
            order.Street1           = orderDto.ShippingAddress.Street1;
            order.Street2           = orderDto.ShippingAddress.Street2;
            order.CityName          = orderDto.ShippingAddress.CityName;
            order.StateOrProvince   = orderDto.ShippingAddress.StateOrProvince;
            order.PostalCode        = orderDto.ShippingAddress.PostalCode;
            order.CountryCode       = orderDto.ShippingAddress.Country.ToString();
            order.CountryName       = orderDto.ShippingAddress.CountryName;
            order.UserName          = orderDto.ShippingAddress.Name;
            order.Phone             = orderDto.ShippingAddress.Phone;
            order.Subtotal          = Convert.ToDecimal(orderDto.Subtotal.Value);
            order.AdjustmentAmount  = Convert.ToDecimal(orderDto.AdjustmentAmount.Value);
            order.Total             = Convert.ToDecimal(orderDto.Total.Value);

            order.ShippingService = orderDto.ShippingServiceSelected != null ? orderDto.ShippingServiceSelected.ShippingService : "N/A";

            order.ExpeditedService = orderDto.ShippingServiceSelected != null && orderDto.ShippingServiceSelected.ExpeditedServiceSpecified ?
                                     orderDto.ShippingServiceSelected.ExpeditedService : order.ExpeditedService;

            order.ShippingInsuranceCost = orderDto.ShippingServiceSelected.ShippingInsuranceCost != null?
                                          Convert.ToDecimal(orderDto.ShippingServiceSelected.ShippingInsuranceCost.Value) : 0;

            order.ShippingServiceCost = orderDto.ShippingServiceSelected.ShippingServiceCost != null?
                                        Convert.ToDecimal(orderDto.ShippingServiceSelected.ShippingServiceCost.Value) : 0;

            order.ShippingServiceAdditionalCost = orderDto.ShippingServiceSelected.ShippingServiceAdditionalCost != null?
                                                  Convert.ToDecimal(orderDto.ShippingServiceSelected.ShippingServiceAdditionalCost.Value) : 0;

            order.ShippingSurcharge = orderDto.ShippingServiceSelected.ShippingSurcharge != null?
                                      Convert.ToDecimal(orderDto.ShippingServiceSelected.ShippingSurcharge.Value) : 0;

            order.LastSyncTime = DateTime.UtcNow;

            foreach (TransactionType orderItemDto in orderDto.TransactionArray)
            {
                EbayOrderItem orderItem = order.OrderItems.SingleOrDefault(p => p.Code.Equals(orderItemDto.OrderLineItemID));

                if (orderItem == null)
                {
                    orderItem = CreateOrderItem(order, orderItemDto);
                }

                orderItem.TransactionPrice = orderItemDto.TransactionPrice != null?decimal.Parse(orderItemDto.TransactionPrice.Value.ToString()) : orderItem.TransactionPrice;

                orderItem.QuantityPurchased       = orderItemDto.QuantityPurchased;
                orderItem.UnpaidItemDisputeStatus = orderItemDto.UnpaidItem != null?orderItemDto.UnpaidItem.Status.ToString() : "N/A";

                orderItem.UnpaidItemDisputeType = orderItemDto.UnpaidItem != null?orderItemDto.UnpaidItem.Type.ToString() : "N/A";
            }
        }