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; } } } } } } } }
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; }