// ADD NEW WISH LIST //
        public WishList AddNewWishList(CreateWishListRequest createRequest)
        {
            createRequest.Loose = System.Convert.ToDecimal(createRequest.Loose);
            using (var db = new SqlConnection(ConnectionString))
            {
                var newWishListQuery = @"
                        INSERT INTO [Wishlist] (UserId, CartId, Name, Genre, ReleaseDate, ImageUrl, Loose, productId)
                        OUTPUT Inserted.*
                            VALUES(@UserId, @CartId, @name, @genre, @releaseDate, @imageUrl, @loose, @productId)";

                var MyNewWishList = db.QueryFirstOrDefault <WishList>(newWishListQuery, new
                {
                    createRequest.UserId,
                    createRequest.CartId,
                    createRequest.Name,
                    createRequest.Genre,
                    createRequest.ReleaseDate,
                    createRequest.ImageUrl,
                    createRequest.Loose,
                    createRequest.ProductId,
                });

                if (MyNewWishList != null)
                {
                    return(MyNewWishList);
                }
            }
            throw new Exception("NESVault Wish List Not Created");
        }
        public ActionResult AddMyWishList(CreateWishListRequest createRequest)
        {
            var newWishList = _wishListRepository.AddNewWishList(createRequest);

            if (newWishList == null)
            {
                return(BadRequest(new { error = "NESVault Requests You Fill All Necessary Fields." }));
            }
            else
            {
                return(Created($"api/wishlist/{newWishList.Id}", newWishList));
            }
        }
        /// <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");

            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>
        /// 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));
        }
Ejemplo n.º 7
0
        /// <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");

            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="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);
        }