public ManagerResponse <CreateWishListResult, WishList> CreateWishList(IStorefrontContext storefrontContext, IVisitorContext visitorContext) { Assert.ArgumentNotNull(storefrontContext, nameof(storefrontContext)); Assert.ArgumentNotNull(visitorContext, nameof(visitorContext)); string userId = visitorContext.UserId; string shopName = storefrontContext.CurrentStorefront.ShopName; string wishListName = "WishList" + Guid.NewGuid() + shopName; CreateWishListResult wishListResult = _wishListServiceProvider.CreateWishList(new CreateWishListRequest(userId, wishListName, shopName)); Helpers.LogSystemMessages(wishListResult.SystemMessages, wishListResult); CreateWishListResult serviceProviderResult = wishListResult; return(new ManagerResponse <CreateWishListResult, WishList>(serviceProviderResult, serviceProviderResult.WishList)); }
public ManagerResponse <CreateWishListResult, WishList> CreateWishList(IStorefrontContext storefrontContext, IVisitorContext visitorContext) { Assert.ArgumentNotNull((object)storefrontContext, nameof(storefrontContext)); Assert.ArgumentNotNull((object)visitorContext, nameof(visitorContext)); string userId = visitorContext.UserId; string shopName = storefrontContext.CurrentStorefront.ShopName; string wishListName = "WishList" + Guid.NewGuid().ToString() + shopName; var wsp = this.WishListServiceProvider.PipelineService.ToString(); CreateWishListResult wishListResult = this.WishListServiceProvider.CreateWishList(new CreateWishListRequest(userId, wishListName, shopName)); Helpers.LogSystemMessages((IEnumerable <SystemMessage>)wishListResult.SystemMessages, (object)wishListResult); CreateWishListResult serviceProviderResult = wishListResult; return(new ManagerResponse <CreateWishListResult, WishList>(serviceProviderResult, serviceProviderResult.WishList)); }
/// <summary> /// Initializes a new instance of the <see cref="GetWishlistTest"/> class. /// </summary> public CreateWishlistTest() { this.visitorId = Guid.NewGuid(); this.request = new CreateWishListRequest(this.visitorId.ToString(), this.visitorId.ToString(), "NopShop"); this.result = new CreateWishListResult(); this.args = new ServicePipelineArgs(this.request, this.result); this.client = Substitute.For <IWishlistsServiceChannel>(); var clientFactory = Substitute.For <ServiceClientFactory>(); clientFactory.CreateClient <IWishlistsServiceChannel>(Arg.Any <string>(), Arg.Any <string>()).Returns(this.client); this.processor = new CreateWishlist { ClientFactory = clientFactory }; }
/// <summary> /// Creates the wish list. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="wishListName">Name of the wish list.</param> /// <returns>The manager response with the wish list as the result.</returns> public virtual ManagerResponse <CreateWishListResult, WishList> CreateWishList([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] string wishListName) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNullOrEmpty(wishListName, "wishListName"); CreateWishListResult errorResult = new CreateWishListResult() { Success = false }; // Limit the number of wish list that can get created. var wishListResponse = this.GetWishLists(storefront, visitorContext); if (!wishListResponse.ServiceProviderResult.Success) { wishListResponse.ServiceProviderResult.SystemMessages.ToList().ForEach(m => errorResult.SystemMessages.Add(m)); return(new ManagerResponse <CreateWishListResult, WishList>(errorResult, null)); } if (wishListResponse.Result.Count() >= StorefrontManager.CurrentStorefront.MaxNumberOfWishLists) { var message = StorefrontManager.GetSystemMessage(StorefrontConstants.SystemMessages.MaxWishListLimitReached); message = string.Format(CultureInfo.InvariantCulture, message, StorefrontManager.CurrentStorefront.MaxNumberOfWishLists); errorResult.SystemMessages.Add(new Commerce.Services.SystemMessage() { Message = message }); return(new ManagerResponse <CreateWishListResult, WishList>(errorResult, null)); } var request = new CreateWishListRequest(visitorContext.UserId, wishListName, storefront.ShopName); var result = this.WishListServiceProvider.CreateWishList(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(new ManagerResponse <CreateWishListResult, WishList>(result, result.WishList)); }
/// <summary> /// Creates the wish list. /// </summary> /// <param name="storefront"> /// The storefront. /// </param> /// <param name="userId"> /// The user Id. /// </param> /// <param name="wishListName"> /// Name of the wish list. /// </param> /// <returns> /// The manager response with the wish list as the result. /// </returns> public virtual ManagerResponse <CreateWishListResult, WishList> CreateWishList([NotNull] CommerceStorefront storefront, string userId, [NotNull] string wishListName) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNullOrEmpty(wishListName, "wishListName"); CreateWishListResult errorResult = new CreateWishListResult() { Success = false }; // Limit the number of wish list that can get created. var wishListResponse = this.GetWishLists(storefront, userId); if (!wishListResponse.ServiceProviderResult.Success) { wishListResponse.ServiceProviderResult.SystemMessages.ToList().ForEach(m => errorResult.SystemMessages.Add(m)); return(new ManagerResponse <CreateWishListResult, WishList>(errorResult, null)); } //TODO : Add to Sitecore setup item if (wishListResponse.Result.Count() >= 10) { var message = "You have reached the max number of wish lists {0}"; message = string.Format(CultureInfo.InvariantCulture, message, 10); errorResult.SystemMessages.Add(new SystemMessage() { Message = message }); return(new ManagerResponse <CreateWishListResult, WishList>(errorResult, null)); } var request = new CreateWishListRequest(userId, wishListName, storefront.ShopName); var result = this.WishListServiceProvider.CreateWishList(request); result.WriteToSitecoreLog(); return(new ManagerResponse <CreateWishListResult, WishList>(result, result.WishList)); }
/// <summary> /// Creates the wish list. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="wishListName">Name of the wish list.</param> /// <returns>The manager response with the wish list as the result.</returns> public virtual ManagerResponse<CreateWishListResult, WishList> CreateWishList([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] string wishListName) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNullOrEmpty(wishListName, "wishListName"); CreateWishListResult errorResult = new CreateWishListResult() { Success = false }; // Limit the number of wish list that can get created. var wishListResponse = this.GetWishLists(storefront, visitorContext); if (!wishListResponse.ServiceProviderResult.Success) { wishListResponse.ServiceProviderResult.SystemMessages.ToList().ForEach(m => errorResult.SystemMessages.Add(m)); return new ManagerResponse<CreateWishListResult, WishList>(errorResult, null); } if (wishListResponse.Result.Count() >= StorefrontManager.CurrentStorefront.MaxNumberOfWishLists) { var message = StorefrontManager.GetSystemMessage("MaxWishListLimitReached"); message = string.Format(CultureInfo.InvariantCulture, message, StorefrontManager.CurrentStorefront.MaxNumberOfWishLists); errorResult.SystemMessages.Add(new Commerce.Services.SystemMessage() { Message = message }); return new ManagerResponse<CreateWishListResult, WishList>(errorResult, null); } var request = new CreateWishListRequest(visitorContext.UserId, wishListName, storefront.ShopName); var result = this.WishListServiceProvider.CreateWishList(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return new ManagerResponse<CreateWishListResult, WishList>(result, result.WishList); }