Example #1
0
        private D_Order_Header UpdateLocalOrder(GetOrderResponseOrder netoOrder, D_Order_Header existingOrder = null)
        {
            D_Order_Header updateOrder = null;

            if (existingOrder == null)
            {
                updateOrder = GetOrderByChannelOrderID(netoOrder.OrderID, 1);
            }
            else
            {
                updateOrder = existingOrder;
            }

            updateOrder.Ref1        = netoOrder.OrderStatus;
            updateOrder.SubTotal    = Convert.ToDecimal(netoOrder.GrandTotal);
            updateOrder.TotalAmount = Convert.ToDecimal(netoOrder.GrandTotal);
            updateOrder.Postage     = netoOrder.ShippingTotal;
            if (netoOrder.OrderPayment != null && netoOrder.OrderPayment.Count() > 0)
            {
                var orderPayment = netoOrder.OrderPayment.FirstOrDefault();
                updateOrder.PaymentMethod = orderPayment.PaymentType;
                if (netoOrder.DatePaid.HasValue)
                {
                    updateOrder.PaidTime = netoOrder.DatePaid.Value.ToLocalTime();
                }
            }

            //Shipping Address
            updateOrder.ConsigneeName    = $"{netoOrder.ShipFirstName} {netoOrder.ShipLastName}";
            updateOrder.ShippingAddress1 = netoOrder.ShipStreetLine1;
            updateOrder.ShippingAddress2 = netoOrder.ShipStreetLine2;
            updateOrder.ShippingSuburb   = netoOrder.ShipCity;
            updateOrder.ShippingPostcode = netoOrder.ShipPostCode;
            updateOrder.ShippingState    = netoOrder.ShipState;
            updateOrder.ShippingCountry  = netoOrder.ShipCountry;
            updateOrder.ConsigneeEmail   = netoOrder.Email;
            updateOrder.ConsigneePhoneNo = netoOrder.ShipPhone;

            //Billing Address
            updateOrder.BillingName     = $"{netoOrder.BillFirstName} {netoOrder.BillLastName}";
            updateOrder.BillingAddress1 = netoOrder.BillStreetLine1;
            updateOrder.BillingAddress2 = netoOrder.BillStreetLine2;
            updateOrder.BillingSuburb   = netoOrder.BillCity;
            updateOrder.BillingPostcode = netoOrder.BillPostCode;
            updateOrder.BillingState    = netoOrder.BillState;
            updateOrder.BillingCountry  = netoOrder.BillCountry;
            updateOrder.BillingEmail    = netoOrder.Email;
            updateOrder.BillingPhoneNo  = netoOrder.BillPhone;

            updateOrder.BuyerNote = netoOrder.DeliveryInstruction;
            foreach (var line in netoOrder.OrderLine)
            {
                var updateOrderLine = updateOrder.OrderLines.Where(ol => ol.Ref1.Equals(line.OrderLineID)).FirstOrDefault();
                if (updateOrderLine == null)
                {
                    updateOrderLine = new D_Order_Line();
                    updateOrder.OrderLines.Add(updateOrderLine);
                }

                updateOrderLine.ItemPrice = line.UnitPrice;
                updateOrderLine.Qty       = Convert.ToInt32(line.Quantity);
                updateOrderLine.SKU       = line.SKU;
                updateOrderLine.SubTotal  = updateOrderLine.ItemPrice * updateOrderLine.Qty;
                updateOrderLine.Ref1      = line.OrderLineID;
                if (line.eBay != null)
                {
                    updateOrderLine.Ref2 = $"{line.eBay.eBayAuctionID}-{line.eBay.eBayTransactionID}";
                }
                updateOrderLine.Ref3 = line.ShippingMethod;
                updateOrderLine.Ref4 = line.ShippingTracking;
            }

            return(this.UpdateOrder(updateOrder));
        }
Example #2
0
        private D_Order_Header CreateNewLocalOrder(GetOrderResponseOrder netoOrder)
        {
            var newOrder = new D_Order_Header();

            newOrder.TypeID         = 1; //TODO
            newOrder.StatusID       = 1; //TODO
            newOrder.ChannelOrderID = netoOrder.OrderID;
            newOrder.Ref1           = netoOrder.OrderStatus;
            newOrder.SubTotal       = Convert.ToDecimal(netoOrder.GrandTotal);
            newOrder.TotalAmount    = Convert.ToDecimal(netoOrder.GrandTotal);
            newOrder.Postage        = netoOrder.ShippingTotal;
            newOrder.OrderTime      = netoOrder.DatePlaced.HasValue? netoOrder.DatePlaced.Value.ToLocalTime():DateTime.Now;
            newOrder.CustomerID     = netoOrder.Username;
            if (netoOrder.OrderPayment != null && netoOrder.OrderPayment.Count() > 0)
            {
                var orderPayment = netoOrder.OrderPayment.FirstOrDefault();
                newOrder.PaymentMethod = orderPayment.PaymentType;
                if (netoOrder.DatePaid.HasValue)
                {
                    newOrder.PaidTime = netoOrder.DatePaid.Value.ToLocalTime();
                }
                //newOrder.PaidTime = netoOrder.DatePaid.ToLocalTime();
            }

            //Shipping Address
            newOrder.ConsigneeName    = $"{netoOrder.ShipFirstName} {netoOrder.ShipLastName}";
            newOrder.ShippingAddress1 = netoOrder.ShipStreetLine1;
            newOrder.ShippingAddress2 = netoOrder.ShipStreetLine2;
            newOrder.ShippingSuburb   = netoOrder.ShipCity;
            newOrder.ShippingPostcode = netoOrder.ShipPostCode;
            newOrder.ShippingState    = netoOrder.ShipState;
            newOrder.ShippingCountry  = netoOrder.ShipCountry;
            newOrder.ConsigneeEmail   = netoOrder.Email;
            newOrder.ConsigneePhoneNo = netoOrder.ShipPhone;

            //Billing Address
            newOrder.BillingName     = $"{netoOrder.BillFirstName} {netoOrder.BillLastName}";
            newOrder.BillingAddress1 = netoOrder.BillStreetLine1;
            newOrder.BillingAddress2 = netoOrder.BillStreetLine2;
            newOrder.BillingSuburb   = netoOrder.BillCity;
            newOrder.BillingPostcode = netoOrder.BillPostCode;
            newOrder.BillingState    = netoOrder.BillState;
            newOrder.BillingCountry  = netoOrder.BillCountry;
            newOrder.BillingEmail    = netoOrder.Email;
            newOrder.BillingPhoneNo  = netoOrder.BillPhone;

            newOrder.BuyerNote = netoOrder.DeliveryInstruction;


            foreach (var line in netoOrder.OrderLine)
            {
                var newOrderLine = new D_Order_Line();
                newOrderLine.ItemPrice = line.UnitPrice;
                newOrderLine.Qty       = Convert.ToInt32(line.Quantity);
                newOrderLine.SKU       = line.SKU;
                newOrderLine.SubTotal  = newOrderLine.ItemPrice * newOrderLine.Qty;
                newOrderLine.Ref1      = line.OrderLineID;
                if (line.eBay != null)
                {
                    newOrderLine.Ref2 = $"{line.eBay.eBayAuctionID}-{line.eBay.eBayTransactionID}";
                }
                newOrderLine.Ref3 = line.ShippingMethod;
                newOrderLine.Ref4 = line.ShippingTracking;

                newOrder.OrderLines.Add(newOrderLine);
            }
            return(this.InsertOrder(newOrder));
        }