Exemplo n.º 1
0
        public static async Task <List <string> > GetFastestdeliveryAsync(FastestDeliveryRequestObj deliveryRequest)
        {
            List <string> warehouse_zips = new List <string>();

            List <ZipObj> ZipObjs = DeliveryTime.GetNearestWarehouses(deliveryRequest.Zip);

            foreach (ZipObj zipp in ZipObjs)
            {
                warehouse_zips.Add(zipp.Zip);
            }

            DateTime localDate  = DateTime.Now;
            var      PickupDate = localDate.AddDays(1);
            string   pickup     = PickupDate.ToString("yyyyMMdd");

            var ProbableArrivalDates = new List <string>();

            //todo weights

            foreach (string warehouse in warehouse_zips)
            {
                var request = new UPSRequestObj.UpsRequest
                {
                    TimeInTransitRequest = new TimeInTransitRequest
                    {
                        Request = new Request
                        {
                            RequestOption        = "TNT",
                            TransactionReference = new TransactionReference
                            {
                            }
                        },

                        ShipFrom = new ShipFrom
                        {
                            Address = new Address
                            {
                                StateProvinceCode = "",
                                CountryCode       = "US",
                                PostalCode        = warehouse
                            }
                        },
                        ShipTo = new ShipTo
                        {
                            Address = new Address2
                            {
                                StateProvinceCode = "",
                                CountryCode       = "US",
                                PostalCode        = deliveryRequest.Zip
                            }
                        },
                        Pickup = new Pickup
                        {
                            Date = pickup
                        },

                        ShipmentWeight = new ShipmentWeight
                        {
                            UnitOfMeasurement = new UnitOfMeasurement
                            {
                                Code        = "KGS",
                                Description = ""
                            },
                            Weight = "20"
                        },
                        MaximumListSize = "2"
                    },
                    Security = new Security
                    {
                        UsernameToken = new UsernameToken
                        {
                            Username = "******",
                            Password = "******"
                        },
                        UPSServiceAccessToken = new UPSServiceAccessToken
                        {
                            AccessLicenseNumber = "2D8F460B702D02D5"
                        }
                    }
                };

                var RequestSerialized = JsonConvert.SerializeObject(request);

                UpsResponse resp = await UPS.GetUPSTimeInTransit(RequestSerialized);

                foreach (ServiceSummary service in resp.TimeInTransitResponse.TransitResponse.ServiceSummary)
                {
                    string ArrivalDate = "";
                    ArrivalDate = service.EstimatedArrival.Arrival.Date;
                    ProbableArrivalDates.Add(ArrivalDate);
                }
            }

            return(ProbableArrivalDates);
        }
        public async Task <UpsResponse> GetDeliveryTime()
        {
            var request = new UPSRequestObj.UpsRequest
            {
                TimeInTransitRequest = new TimeInTransitRequest
                {
                    Request = new Request
                    {
                        RequestOption        = "TNT",
                        TransactionReference = new TransactionReference
                        {
                        }
                    },

                    ShipFrom = new ShipFrom
                    {
                        Address = new Address
                        {
                            StateProvinceCode = "MA",
                            CountryCode       = "US",
                            PostalCode        = "02740"
                        }
                    },
                    ShipTo = new ShipTo
                    {
                        Address = new Address2
                        {
                            StateProvinceCode = "AZ",
                            CountryCode       = "US",
                            PostalCode        = "85281"
                        }
                    },
                    Pickup = new Pickup
                    {
                        Date = "20201222"
                    },

                    ShipmentWeight = new ShipmentWeight
                    {
                        UnitOfMeasurement = new UnitOfMeasurement
                        {
                            Code        = "KGS",
                            Description = ""
                        },
                        Weight = "20"
                    },
                    MaximumListSize = "2"
                },
                Security = new Security
                {
                    UsernameToken = new UsernameToken
                    {
                        Username = "******",
                        Password = "******"
                    },
                    UPSServiceAccessToken = new UPSServiceAccessToken
                    {
                        AccessLicenseNumber = "2D8F460B702D02D5"
                    }
                }
            };

            var RequestSerialized = JsonConvert.SerializeObject(request);

            UpsResponse resp = await UPS.GetUPSTimeInTransit(RequestSerialized);



            return(resp);
        }