private void UpdateShippingAddressesForAnonymous(MultiShipmentViewModel viewModel) { foreach (var item in viewModel.CartItems) { var anonymousShippingAddress = new AddressModel { AddressId = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString(), CountryCode = "USA" }; item.AddressId = anonymousShippingAddress.AddressId; _addressBookService.LoadCountriesAndRegionsForAddress(anonymousShippingAddress); viewModel.AvailableAddresses.Add(anonymousShippingAddress); } }
public virtual MultiShipmentViewModel CreateMultiShipmentViewModel(ICart cart, bool isAuthenticated) { var viewModel = new MultiShipmentViewModel { StartPage = _contentLoader.Get<StartPage>(ContentReference.StartPage), AvailableAddresses = GetAvailableShippingAddresses(), CartItems = cart != null ? FlattenCartItems(_shipmentViewModelFactory.CreateShipmentsViewModel(cart).SelectMany(x => x.CartItems)) : new CartItemViewModel[0], ReferrerUrl = GetReferrerUrl() }; if (!isAuthenticated) { UpdateShippingAddressesForAnonymous(viewModel); } return viewModel; }