public virtual async Task <IHttpActionResult> GetRecurringOrderTemplatesAddressesAsync([FromBody] GetRecurringTemplateAddressRequest request) { var recurringOrderScheduleUrl = RecurringScheduleUrlProvider.GetRecurringScheduleDetailsUrl(new GetRecurringScheduleDetailsUrlParam { CultureInfo = ComposerContext.CultureInfo, RecurringScheduleId = request.Id }); var addAddressUrl = MyAccountUrlProvider.GetAddAddressUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo, ReturnUrl = recurringOrderScheduleUrl }); var editAddressBaseUrl = MyAccountUrlProvider.GetUpdateAddressBaseUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo, ReturnUrl = recurringOrderScheduleUrl }); var viewModel = await CustomerAddressViewService.GetAddressListViewModelAsync(new GetAddressListViewModelParam { CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, AddAddressUrl = addAddressUrl, EditAddressBaseUrl = editAddressBaseUrl, CountryCode = ComposerContext.CountryCode }); return(Ok(viewModel)); }
public virtual async Task <IHttpActionResult> GetRecurringCartAddressAsync([FromBody] GetRecurringCartAddressRequest request) { if (request == null) { return(BadRequest("Missing Request Body")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var cartsUrl = RecurringCartUrlProvider.GetRecurringCartDetailsUrl(new GetRecurringCartDetailsUrlParam { CultureInfo = ComposerContext.CultureInfo, RecurringCartName = request.CartName }); var addAddressUrl = MyAccountUrlProvider.GetAddAddressUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo, ReturnUrl = cartsUrl }); var editAddressBaseUrl = MyAccountUrlProvider.GetUpdateAddressBaseUrl(new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo, ReturnUrl = cartsUrl }); var viewModel = await CustomerAddressViewService.GetAddressListViewModelAsync(new GetAddressListViewModelParam { CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, AddAddressUrl = addAddressUrl, EditAddressBaseUrl = editAddressBaseUrl, CountryCode = ComposerContext.CountryCode }); return(Ok(viewModel)); }
public virtual ActionResult AddressList() { var urlParam = new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }; var addAddressUrl = MyAccountUrlProvider.GetAddAddressUrl(urlParam); var editAddressBaseUrl = MyAccountUrlProvider.GetUpdateAddressBaseUrl(urlParam); var viewModel = CustomerAddressViewService.GetAddressListViewModelAsync(new GetAddressListViewModelParam { CustomerId = ComposerContext.CustomerId, CultureInfo = ComposerContext.CultureInfo, Scope = ComposerContext.Scope, AddAddressUrl = addAddressUrl, EditAddressBaseUrl = editAddressBaseUrl, CountryCode = ComposerContext.CountryCode }).Result; return(View("AddressListBlade", viewModel)); }
/// <summary> /// Gets the <see cref="AddressListViewModel"/> to display a list of addresses in MyAddresses Form or Form result /// </summary> /// <param name="param"></param> /// <param name="customer"></param> /// <param name="addresses"></param> /// <param name="regions"></param> /// <returns></returns> protected virtual AddressListViewModel GetAddressListViewModel( GetAddressListViewModelParam param, Customer customer, IEnumerable <Address> addresses, IEnumerable <RegionViewModel> regions) { var viewModel = ViewModelMapper.MapTo <AddressListViewModel>(customer, param.CultureInfo); var urlParam = new BaseUrlParameter { CultureInfo = ComposerContext.CultureInfo }; var addAddressUrl = MyAccountUrlProvider.GetAddAddressUrl(urlParam); var editAddressBaseUrl = MyAccountUrlProvider.GetUpdateAddressBaseUrl(urlParam); viewModel.AddAddressUrl = addAddressUrl; viewModel.Addresses = addresses.Select(address => { var addressVm = ViewModelMapper.MapTo <AddressListItemViewModel>(address, param.CultureInfo); if (!string.IsNullOrWhiteSpace(editAddressBaseUrl)) { var editUrlWithParam = UrlFormatter.AppendQueryString(editAddressBaseUrl, new NameValueCollection { { "addressId", address.Id.ToString() } }); addressVm.UpdateAddressUrl = editUrlWithParam; } var region = regions.FirstOrDefault(x => x.IsoCode == address.RegionCode); addressVm.RegionName = region != null ? region.Name : string.Empty; return(addressVm); }).ToList(); return(viewModel); }