Example #1
0
 protected virtual void CheckIfEditing(
     IVisitorContext visitorContext,
     CustomBaseCheckoutDataJsonResult result)
 {
     if ((result.Cart == null || result.Cart.Shipments == null ? 0 : (result.Cart.Shipments.Count > 0 ? 1 : 0)) == 0)
     {
         return;
     }
     foreach (ShippingInfoJsonResult shipment1 in result.Cart.Shipments)
     {
         ShippingInfoJsonResult shipment = shipment1;
         if (shipment.LineIDs != null && shipment.LineIDs.Count > 0)
         {
             CartLineJsonResult cartLineJsonResult = result.Cart.Lines.Find((l => l.ExternalCartLineId.Equals(shipment.LineIDs[0], StringComparison.OrdinalIgnoreCase)));
             if (cartLineJsonResult != null && cartLineJsonResult.ShippingOptions != null && cartLineJsonResult.ShippingOptions.Count <ShippingOptionJsonResult>() > 0)
             {
                 ShippingOptionJsonResult optionJsonResult = cartLineJsonResult.ShippingOptions.ElementAt <ShippingOptionJsonResult>(0);
                 if (optionJsonResult != null)
                 {
                     shipment.EditModeShippingOptionType = optionJsonResult.ShippingOptionType;
                     if (optionJsonResult.ShippingOptionType == ShippingOptionType.ShipToAddress)
                     {
                         AddressJsonResult addressJsonResult = result.Cart.Parties.Find((Predicate <AddressJsonResult>)(p => p.ExternalId.Equals(shipment.PartyID, StringComparison.OrdinalIgnoreCase)));
                         if (addressJsonResult != null)
                         {
                             GetShippingMethodsInputModel inputModel = new GetShippingMethodsInputModel()
                             {
                                 ShippingPreferenceType = ShippingOptionType.ShipToAddress.Value.ToString((IFormatProvider)CultureInfo.InvariantCulture),
                                 ShippingAddress        = new PartyInputModel()
                             };
                             inputModel.ShippingAddress.ExternalId    = addressJsonResult.ExternalId;
                             inputModel.ShippingAddress.Address1      = addressJsonResult.Address1;
                             inputModel.ShippingAddress.City          = addressJsonResult.City;
                             inputModel.ShippingAddress.State         = addressJsonResult.State;
                             inputModel.ShippingAddress.ZipPostalCode = addressJsonResult.ZipPostalCode;
                             inputModel.ShippingAddress.Country       = addressJsonResult.Country;
                             inputModel.ShippingAddress.IsPrimary     = addressJsonResult.IsPrimary;
                             inputModel.Lines = new List <CartLineInputModel>();
                             ShippingMethodsJsonResult shippingMethods = this.GetShippingMethods(visitorContext, inputModel);
                             if (shippingMethods != null)
                             {
                                 shipment.ShipmentEditModel = this.ModelProvider.GetModel <ShipmentEditModeDataJsonResult>();
                                 shipment.ShipmentEditModel.ShippingMethods = shippingMethods.ShippingMethods;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Example #2
0
        public virtual void InitializeShippingOptions(List <ShippingOption> shippingOptions)
        {
            if (shippingOptions == null)
            {
                return;
            }
            List <ShippingOptionJsonResult> optionJsonResultList = new List <ShippingOptionJsonResult>();

            foreach (ShippingOption shippingOption in shippingOptions)
            {
                ShippingOptionJsonResult model = this.ModelProvider.GetModel <ShippingOptionJsonResult>();
                model.Initialize(shippingOption);
                optionJsonResultList.Add(model);
            }
            this.OrderShippingOptions = (IEnumerable <ShippingOptionJsonResult>)optionJsonResultList;
        }