/// <summary> /// Get the Url of the AddToWishList SignIn page. /// </summary> public virtual string GetSignInUrl(GetWishListUrlParam parameters) { using (ThreadDataManager.EnsureInitialize()) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (parameters.CultureInfo == null) { throw new ArgumentException("parameters.CultureInfo is required", "parameters"); } var pagesConfiguration = SiteConfiguration.GetPagesConfiguration(parameters.CultureInfo, WebsiteContext.WebsiteId); var signInPath = PageService.GetPageUrl(pagesConfiguration.LoginPageId, parameters.CultureInfo); if (string.IsNullOrWhiteSpace(parameters.ReturnUrl)) { return(signInPath); } var urlBuilder = new UrlBuilder(signInPath); urlBuilder["ReturnUrl"] = GetReturnUrl(parameters); // url builder will encode the query string value return(urlBuilder.ToString()); } }
private static string GetReturnUrl(GetWishListUrlParam parameters) { var returnUrl = Uri.IsWellFormedUriString(parameters.ReturnUrl, UriKind.Relative) ? new Uri(new Uri(parameters.BaseUrl), parameters.ReturnUrl) : new Uri(parameters.ReturnUrl); return(returnUrl.ToString()); }
protected virtual async Task <WishListViewModel> CreateWishListViewModelAsync(CreateWishListViewModelParam param) { var viewModel = new WishListViewModel(); var lineItems = param.WishList.GetLineItems(); if (lineItems != null) { var imageInfo = new ProductImageInfo { ImageUrls = await ImageService.GetImageUrlsAsync(lineItems).ConfigureAwait(false), }; viewModel.Items = LineItemViewModelFactory.CreateViewModel(new CreateListOfLineItemDetailViewModelParam { Cart = param.WishList, LineItems = lineItems, CultureInfo = param.CultureInfo, ImageInfo = imageInfo, BaseUrl = param.BaseUrl }).ToList(); viewModel.Items.Reverse(); viewModel.TotalQuantity = lineItems.Count; } var getUrlParam = new GetWishListUrlParam { BaseUrl = param.BaseUrl, CultureInfo = param.CultureInfo }; viewModel.SignInUrl = WishListUrlProvider.GetSignInUrl(getUrlParam); viewModel.ShareUrl = viewModel.TotalQuantity == 0 ? string.Empty: WishListUrlProvider.GetShareUrl(new GetShareWishListUrlParam { BaseUrl = param.BaseUrl, CultureInfo = param.CultureInfo, CustomerId = param.WishList.CustomerId, Scope = param.WishList.ScopeId, WebsiteId = param.WebsiteId }); return(viewModel); }
/// <summary> /// Get the Url of the WishList page. /// </summary> public virtual string GetWishListUrl(GetWishListUrlParam parameters) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } if (parameters.CultureInfo == null) { throw new ArgumentException(GetMessageOfNull(nameof(parameters.CultureInfo)), nameof(parameters)); } using (ThreadDataManager.EnsureInitialize()) { var pagesConfiguration = SiteConfiguration.GetPagesConfiguration(parameters.CultureInfo, WebsiteContext.WebsiteId); if (pagesConfiguration == null) { return(null); } return(PageService.GetPageUrl(pagesConfiguration.MyWishListPageId, parameters.CultureInfo)); } }