示例#1
0
            /// <summary>
            /// Run the example code.
            /// </summary>
            public static void Main()
            {
                const string MerchantId   = "0";
                const string SharedSecret = "sharedSecret";
                string       orderId      = "12345";
                string       captureId    = "34567";

                IConnector connector = ConnectorFactory.Create(MerchantId, SharedSecret, Client.EuTestBaseUrl);

                Client   client  = new Client(connector);
                IOrder   order   = client.NewOrder(orderId);
                ICapture capture = client.NewCapture(order.Location, captureId);

                ShippingInfo shippingInfo = new ShippingInfo
                {
                    ShippingCompany       = "DHL",
                    ShippingMethod        = "Home",
                    TrackingUri           = new Uri("http://www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB=1234567890"),
                    TrackingNumber        = "1234567890",
                    ReturnTrackingNumber  = "E-55-KL",
                    ReturnShippingCompany = "DHL",
                    ReturnTrackingUri     = new Uri("http://www.dhl.com/content/g0/en/express/tracking.shtml?brand=DHL&AWB=98389222")
                };

                AddShippingInfo addShippingInfo = new AddShippingInfo();

                addShippingInfo.ShippingInfo = new List <ShippingInfo>()
                {
                    shippingInfo
                };

                try
                {
                    capture.AddShippingInfo(addShippingInfo);
                }
                catch (ApiException ex)
                {
                    Console.WriteLine(ex.ErrorMessage.ErrorCode);
                    Console.WriteLine(ex.ErrorMessage.ErrorMessages);
                    Console.WriteLine(ex.ErrorMessage.CorrelationId);
                }
                catch (WebException ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
示例#2
0
        public IHttpActionResult SaveShippingInfo(AddShippingInfo data)
        {
            foreach (var item in data.orderinfo)
            {
                data.shippingdetails.Order_No = item.OrderNo;
                data.shippingdetails.PO_No    = item.PushraseOrderNo;
                data.shippingdetails.Quantity = item.Quantity;

                db.ShippingDetails.Add(data.shippingdetails);


                Order order = db.Orders.Find(item.OrderNo);
                if (order.QuantityShipped == null)
                {
                    order.QuantityShipped = 0;
                }
                if (item.IsFullyShipped || item.Quantity >= order.Quantity)
                {
                    order.Ship_Date       = data.shippingdetails.Shipping_Date;
                    order.QuantityShipped = order.Quantity;
                }
                else
                {
                    order.QuantityShipped += item.Quantity;
                }
                db.Entry(order).State = EntityState.Modified;
                try
                {
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    if (ShippingDetailExists(data.shippingdetails.Order_No))
                    {
                        //return Conflict();
                    }
                    else
                    {
                        //throw;
                    }
                }
            }

            return(Ok(true));
        }
示例#3
0
 /// <summary>
 /// Appends shipping information to the capture.
 /// </summary>
 /// <param name="shippingInfo">the shipping info</param>
 public void AddShippingInfo(AddShippingInfo shippingInfo)
 {
     this.Post(this.Location + "/shipping-info", shippingInfo)
     .Status(HttpStatusCode.NoContent);
 }