Beispiel #1
0
        public void ScheduleAndCancel()
        {
            var address = (Address)AddressFluent <Address> .Create()
                          .Company("Pitney Bowes Inc.")
                          .AddressLines("27 Waterview Drive")
                          .Residential(false)
                          .CityTown("Shelton")
                          .StateProvince("CT")
                          .PostalCode("06484")
                          .CountryCode("US")
                          .Person("Paul Wright", "203-555-1213", "*****@*****.**");

            // Schedule a pickup

            var pickup = PickupFluent <Pickup> .Create()
                         .Carrier(Carrier.USPS)
                         .PackageLocation(PackageLocation.MailRoom)
                         .PickupAddress(address)
                         .PickupDate(DateTime.Now.AddDays(1))
                         .SpecialInstructions("N/A")
                         .AddPickupSummary <PickupCount, ParcelWeight>(PickupService.PM, 1, 16M, UnitOfWeight.OZ)
                         .TransactionId(Guid.NewGuid().ToString().Substring(15));

            var pickupResponse = Api.Schedule <Pickup>(pickup).GetAwaiter().GetResult();

            Assert.NotNull(pickupResponse);
            Assert.True(pickupResponse.Success);
            Assert.NotNull(pickupResponse.ResponseObject);

            // Cancel pickup
            var p = pickupResponse.ResponseObject as Pickup;

            Assert.NotNull(p);

            var cancelPickup = new PickupCancelRequest()
            {
                PickupId      = p.PickupId,
                TransactionId = Guid.NewGuid().ToString().Substring(15)
            };

            var pickupCancelResponse = Api.CancelPickup(cancelPickup).GetAwaiter().GetResult();

            Assert.NotNull(pickupCancelResponse);
            Assert.True(pickupCancelResponse.Success);
            Assert.NotNull(pickupCancelResponse.ResponseObject);
        }
Beispiel #2
0
        /// <summary>
        /// Cancels the pickup. Calls API method.
        /// </summary>
        /// <param name="session"></param>
        /// <returns></returns>
        public PickupFluent <T> Cancel(ISession session = null)
        {
            if (session == null)
            {
                session = Globals.DefaultSession;
            }
            var cancel = new PickupCancelRequest()
            {
                PickupId = _pickup.PickupId
            };

            var response = Api.CancelPickup(cancel, session).GetAwaiter().GetResult();

            if (response.Success)
            {
                cancel = response.APIResponse;
                //_pickup.Status = cancel.Status; //TODO: add to pickup class
            }
            else
            {
                throw new ShippingAPIException(response);
            }
            return(this);
        }