Пример #1
0
        /// <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;
            }
        }
Пример #2
0
        /// <summary>
        /// Performs load cart operation.
        /// </summary>
        /// <param name="args">The args.</param>
        public override void Process([NotNull] ServicePipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            var request = (LoadCartRequest)args.Request;

            // Gets id of cart to load from NopCommerce instance.
            var cartId = request.CartId;

            // Creates instance of WCF service client.
            using (var client = this.GetClient())
            {
                Guid nopCartId;
                if (!Guid.TryParse(cartId, out nopCartId))
                {
                    var idGenerator = new Md5IdGenerator();
                    nopCartId = Guid.Parse(idGenerator.StringToID(cartId, string.Empty).ToString());
                }

                // Check that NopCommerce instance contains cart with specified id and if not stops loading operation.
                var cartModel = client.GetCart(nopCartId, request.Shop.Name);
                if (cartModel != null)
                {
                    // Creates OBEC cart with specified id.
                    var cart = new Cart
                    {
                        ExternalId = cartId
                    };

                    // Maps cart lines from NopCommerce cart model to OBEC cart.
                    cart.MapCartFromModel(cartModel);

                    // Sets loaded cart to result property.
                    ((CartResult)args.Result).Cart = cart;
                }
            }
        }