public override List <DeliveryOption> GetDeliveryOptionsListForShipping(string Country,
                                                                                string locale,
                                                                                MyHerbalife3.Ordering.ServiceProvider.ShippingSvc.ShippingAddress_V01 address)
        {
            if (locale.Equals("en-MX"))
            {
                base.GetDeliveryOptionsListForShipping(Country, locale, address);
            }

            List <DeliveryOption> deliveryOptions = new List <DeliveryOption>();
            var proxy = ServiceClientProvider.GetMexicoShippingServiceProxy();

            //Look if there is a postal code provided:

            if (!string.IsNullOrEmpty(address.Address.PostalCode))
            {
                var shippingAlternativesResponse =
                    proxy.GetShippingAlternativesForPostalCode(new ServiceProvider.ShippingMexicoSvc.GetShippingAlternativesForPostalCodeRequest(new ShippingAlternativesForPostalCodeRequest_V01()
                {
                    PostalCode = address.Address.PostalCode
                })).GetShippingAlternativesForPostalCodeResult as MyHerbalife3.Ordering.ServiceProvider.ShippingMexicoSvc.ShippingAlternativesResponse_V01;
                if (shippingAlternativesResponse != null && shippingAlternativesResponse.DeliveryAlternatives != null)
                {
                    deliveryOptions.AddRange(from so in shippingAlternativesResponse.DeliveryAlternatives
                                             where !so.ShippingSource.Status.ToUpper().Equals("NOGDO") && !so.ShippingSource.Status.ToUpper().Equals("NODISPONIBLE")
                                             select new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(so)));
                }
            }
            return(deliveryOptions);
        }
 public ShippingAddress_V02(ShippingAddress_V01 srcAddress)
 {
     this.ID                             = srcAddress.ID;
     this.Recipient                      = srcAddress.Recipient;
     this.Attention                      = srcAddress.Attention;
     this.Address                        = new Address_V01();
     this.Address.City                   = srcAddress.Address.City;
     this.Address.Country                = srcAddress.Address.Country;
     this.Address.CountyDistrict         = srcAddress.Address.CountyDistrict;
     this.Address.Line1                  = srcAddress.Address.Line1;
     this.Address.Line2                  = srcAddress.Address.Line2;
     this.Address.Line3                  = srcAddress.Address.Line3;
     this.Address.Line4                  = srcAddress.Address.Line4;
     this.Address.PostalCode             = srcAddress.Address.PostalCode;
     this.Address.CountyDistrict         = srcAddress.Address.CountyDistrict;
     this.Address.StateProvinceTerritory = srcAddress.Address.StateProvinceTerritory;
     this.AreaCode                       = AltAreaCode = AltPhone = string.Empty;
     this.Phone                          = srcAddress.Phone;
     this.IsPrimary                      = srcAddress.IsPrimary;
     this.Alias                          = srcAddress.Alias;
     this.Created                        = srcAddress.Created;
 }
        public override List <DeliveryOption> GetDeliveryOptions(DeliveryOptionType type, MyHerbalife3.Ordering.ServiceProvider.ShippingSvc.ShippingAddress_V01 address)
        {
            var locale = Thread.CurrentThread.CurrentCulture.Name;

            if (locale.Equals("en-MX"))
            {
                var mexicoDeliveryOptions = base.GetDeliveryOptions(type, address);
                if (HLConfigManager.Configurations.PickupOrDeliveryConfiguration.HasSpecialEventWareHouse)
                {
                    RemoveUnauthorizedDeliveryOptions(mexicoDeliveryOptions, locale);
                }

                return(mexicoDeliveryOptions);
            }

            List <DeliveryOption> deliveryOptions = new List <DeliveryOption>();
            var proxy = ServiceClientProvider.GetMexicoShippingServiceProxy();

            //Look if there is a postal code provided:

            if (type == DeliveryOptionType.Pickup)
            {
                PickupAlternativesResponse_V01 pickupAlternativesResponse = null;
                if (!string.IsNullOrEmpty(address.Address.PostalCode))
                {
                    pickupAlternativesResponse =
                        proxy.GetPickupAlternativesForPostalCode(new GetPickupAlternativesForPostalCodeRequest(new PickupAlternativesForPostalCodeRequest_V01()
                    {
                        PostalCode = address.Address.PostalCode
                    })).GetPickupAlternativesForPostalCodeResult as PickupAlternativesResponse_V01;
                }
                else
                {
                    pickupAlternativesResponse =
                        proxy.GetPickupAlternativesForColony(new GetPickupAlternativesForColonyRequest(new PickupAlternativesForColonyRequest_V01()
                    {
                        Colony       = address.Address.Line3,
                        Municipality = address.Address.City,
                        State        = address.Address.StateProvinceTerritory
                    })).GetPickupAlternativesForColonyResult as PickupAlternativesResponse_V01;
                }
                if (pickupAlternativesResponse != null && pickupAlternativesResponse.PickupAlternatives != null)
                {
                    deliveryOptions.AddRange(
                        from po in pickupAlternativesResponse.PickupAlternatives
                        select new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(po)));
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(address.Address.PostalCode))
                {
                    var shippingAlternativesResponse =
                        proxy.GetShippingAlternativesForPostalCode(new ServiceProvider.ShippingMexicoSvc.GetShippingAlternativesForPostalCodeRequest(new ShippingAlternativesForPostalCodeRequest_V01()
                    {
                        PostalCode = address.Address.PostalCode
                    })).GetShippingAlternativesForPostalCodeResult as MyHerbalife3.Ordering.ServiceProvider.ShippingMexicoSvc.ShippingAlternativesResponse_V01;
                    if (shippingAlternativesResponse != null &&
                        shippingAlternativesResponse.DeliveryAlternatives != null)
                    {
                        deliveryOptions.AddRange(from so in shippingAlternativesResponse.DeliveryAlternatives
                                                 where !so.ShippingSource.Status.ToUpper().Equals("NOGDO") && !so.ShippingSource.Status.ToUpper().Equals("NODISPONIBLE")
                                                 select new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(so)));
                    }
                }
            }
            return(deliveryOptions);
        }
Exemple #4
0
        public override List <DeliveryOption> GetDeliveryOptions(DeliveryOptionType type, MyHerbalife3.Ordering.ServiceProvider.ShippingSvc.ShippingAddress_V01 address)
        {
            if (HLConfigManager.Configurations.PickupOrDeliveryConfiguration.UseXHLTables)
            {
                List <DeliveryOption> deliveryOptions = new List <DeliveryOption>();
                var proxy = ServiceClientProvider.GetMexicoShippingServiceProxy();

                if (type == DeliveryOptionType.Pickup)
                {
                    var pickupAlternativesResponse = new ServiceProvider.ShippingMexicoSvc.PickupAlternativesResponse_V01();
                    if (address == null || address.Address == null)
                    {
                        // Get Herbalife Centers - FreightCode: PU
                        pickupAlternativesResponse =
                            proxy.GetPickupAlternativesByFreightCode(new ServiceProvider.ShippingMexicoSvc.GetPickupAlternativesByFreightCodeRequest(new ServiceProvider.ShippingMexicoSvc.PickupAlternativesByFreightCodeRequest_V01()
                        {
                            Country     = "AR",
                            FreightCode = "PU"
                        })).GetPickupAlternativesByFreightCodeResult as ServiceProvider.ShippingMexicoSvc.PickupAlternativesResponse_V01;
                    }
                    else if (!string.IsNullOrEmpty(address.Address.PostalCode))
                    {
                        pickupAlternativesResponse =
                            proxy.GetPickupAlternativesForPostalCode(new ServiceProvider.ShippingMexicoSvc.GetPickupAlternativesForPostalCodeRequest(new ServiceProvider.ShippingMexicoSvc.PickupAlternativesForPostalCodeRequest_V01()
                        {
                            Country    = "AR",
                            PostalCode = address.Address.PostalCode
                        })).GetPickupAlternativesForPostalCodeResult as ServiceProvider.ShippingMexicoSvc.PickupAlternativesResponse_V01;
                    }
                    else
                    {
                        pickupAlternativesResponse =
                            proxy.GetPickupAlternativesForColony(new ServiceProvider.ShippingMexicoSvc.GetPickupAlternativesForColonyRequest(new ServiceProvider.ShippingMexicoSvc.PickupAlternativesForColonyRequest_V01()
                        {
                            Country      = "AR",
                            Colony       = address.Address.Line3,
                            Municipality = address.Address.City,
                            State        = address.Address.StateProvinceTerritory
                        })).GetPickupAlternativesForColonyResult as ServiceProvider.ShippingMexicoSvc.PickupAlternativesResponse_V01;
                    }
                    if (pickupAlternativesResponse != null && pickupAlternativesResponse.PickupAlternatives != null)
                    {
                        deliveryOptions.AddRange(
                            from po in pickupAlternativesResponse.PickupAlternatives
                            select new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(po)));
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(address.Address.PostalCode))
                    {
                        var shippingAlternativesResponse =
                            proxy.GetShippingAlternativesForPostalCode(new ServiceProvider.ShippingMexicoSvc.GetShippingAlternativesForPostalCodeRequest(new ServiceProvider.ShippingMexicoSvc.ShippingAlternativesForPostalCodeRequest_V01()
                        {
                            Country    = "AR",
                            PostalCode = address.Address.PostalCode
                        })).GetShippingAlternativesForPostalCodeResult as MyHerbalife3.Ordering.ServiceProvider.ShippingMexicoSvc.ShippingAlternativesResponse_V01;
                        if (shippingAlternativesResponse != null &&
                            shippingAlternativesResponse.DeliveryAlternatives != null)
                        {
                            deliveryOptions.AddRange(from so in shippingAlternativesResponse.DeliveryAlternatives
                                                     where !so.ShippingSource.Status.ToUpper().Equals("NOGDO") && !so.ShippingSource.Status.ToUpper().Equals("NODISPONIBLE")
                                                     select new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(so)));
                        }
                    }
                }
                deliveryOptions.ForEach(o => o.Address = validateAdressValues(o.Address));

                return(deliveryOptions);
            }
            else
            {
                return(base.GetDeliveryOptions(type, address));
            }
        }