/// <summary> /// Processes the arguments. /// </summary> /// <param name="args">The pipeline arguments.</param> public override void Process(ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); var request = (UpdateWishListLinesRequest)args.Request; var result = (UpdateWishListLinesResult)args.Result; var updatedLines = new List <WishListLine>(); using (var client = this.GetClient()) { var wishlistId = new Guid(request.WishList.ExternalId); foreach (WishListLine line in request.Lines) { if (client.UpdateQuantity(wishlistId, line.Product.ProductId, int.Parse(line.Quantity.ToString())) != null) { updatedLines.Add(line); } } ShoppingCartModel wishlistModel = client.GetWishlist(wishlistId); var wishlist = new WishList { ExternalId = request.WishList.ExternalId }; wishlist.MapWishlistFromModel(wishlistModel); result.WishList = wishlist; result.UpdatedLines = new ReadOnlyCollection <WishListLine>(updatedLines); } }
/// <summary> /// Processes the arguments. /// </summary> /// <param name="args">The pipeline arguments.</param> public override void Process(ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); var request = (RemoveWishListLinesRequest)args.Request; var result = (RemoveWishListLinesResult)args.Result; var removedLines = new List <WishListLine>(); using (var client = this.GetClient()) { var wishlistId = new Guid(request.WishList.ExternalId); foreach (string lineId in request.LineIds) { WishListLine line = request.WishList.Lines.FirstOrDefault(p => p.ExternalId == lineId); if (line != null) { client.RemoveProduct(wishlistId, line.Product.ProductId); removedLines.Add(line); } } ShoppingCartModel wishlistModel = client.GetWishlist(wishlistId); var wishlist = new WishList { ExternalId = request.WishList.ExternalId }; wishlist.MapWishlistFromModel(wishlistModel); result.WishList = wishlist; result.RemovedLines = new ReadOnlyCollection <WishListLine>(removedLines); } }
/// <summary> /// Performs get wishlist operation. /// </summary> /// <param name="args">The args.</param> public override void Process([NotNull] ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); // Gets id of castomer to load from NopCommerce instance. var request = (GetWishListRequest)args.Request; var result = (GetWishListResult)args.Result; // Creates instance of WCF service client. using (var client = this.GetClient()) { Guid userGuid; string userId = request.UserId; if (!Guid.TryParse(userId, out userGuid)) { var idGenerator = new Md5IdGenerator(); userGuid = Guid.Parse(idGenerator.StringToID(userId, string.Empty).ToString()); } ShoppingCartModel wishlistModel = client.GetWishlist(userGuid); if (wishlistModel == null) { return; } var wishlist = new WishList { ExternalId = request.WishListId }; wishlist.MapWishlistFromModel(wishlistModel); result.WishList = wishlist; } }
/// <summary> /// Runs the processor. /// </summary> /// <param name="args">The arguments.</param> public override void Process(ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); var result = (GetWishListsResult)args.Result; // Creates instance of WCF service client. using (var client = this.GetClient()) { var wishlistsHeaders = new List <WishListHeader>(); var wishlists = new ReadOnlyCollection <WishListHeader>(wishlistsHeaders); result.WishLists = wishlists; var wishlistModels = client.GetWishlists(); if (!wishlistModels.Any()) { return; } // Maps wishlist lines from NopCommerce wishlist model to OBEC wishlist. foreach (var wishlistModel in wishlistModels) { var wishlist = new WishList(); wishlist.MapWishlistFromModel(wishlistModel); var header = new WishListHeader(); header.MapWishlistHeaderFromModel(wishlistModel); wishlistsHeaders.Add(header); } } }
/// <summary> /// Performs create wishlist operation. /// </summary> /// <param name="args">The args.</param> public override void Process([NotNull] ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); var request = (CreateWishListRequest)args.Request; var result = (CreateWishListResult)args.Result; using (var client = this.GetClient()) { var wishlistModel = client.CreateWishlist(new Guid(request.UserId)); if (wishlistModel == null) { return; } var wishlist = new WishList(); wishlist.MapWishlistFromModel(wishlistModel); result.WishList = wishlist; } }