예제 #1
0
        public virtual async Task <WishListViewModel> GetWishListViewModelAsync(GetCartParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException("param", "param is required");
            }
            if (string.IsNullOrWhiteSpace(param.Scope))
            {
                throw new ArgumentException("param.Scope is required", "param");
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException("param.CultureInfo is required", "param");
            }
            if (string.IsNullOrWhiteSpace(param.CartName))
            {
                throw new ArgumentException("param.CartName is required", "param");
            }
            if (param.CustomerId == Guid.Empty)
            {
                throw new ArgumentException("param.CustomerId is required", "param");
            }


            var wishList = await WishListRepository.GetWishListAsync(param).ConfigureAwait(false);

            var fixedWishlist = await FixCartService.SetFulfillmentLocationIfRequired(new FixCartParam
            {
                Cart = wishList
            }).ConfigureAwait(false);

            if (wishList == null)
            {
                return(null);
            }

            return(await CreateWishListViewModelAsync(new CreateWishListViewModelParam()
            {
                WishList = fixedWishlist,
                CultureInfo = param.CultureInfo,
                BaseUrl = param.BaseUrl
            }));
        }
예제 #2
0
        public virtual async Task <WishListSummaryViewModel> GetWishListSummaryViewModelAsync(GetCartParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException("param", "param is required");
            }
            if (string.IsNullOrWhiteSpace(param.Scope))
            {
                throw new ArgumentException("param.Scope is required", "param");
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException("param.CultureInfo is required", "param");
            }
            if (string.IsNullOrWhiteSpace(param.CartName))
            {
                throw new ArgumentException("param.CartName is required", "param");
            }
            if (param.CustomerId == Guid.Empty)
            {
                throw new ArgumentException("param.CustomerId is required", "param");
            }

            var wishList = await WishListRepository.GetWishListAsync(param).ConfigureAwait(false);

            if (wishList == null)
            {
                return(null);
            }

            return(CreateSummaryWishListViewModel(new CreateWishListViewModelParam
            {
                WishList = wishList,
                CultureInfo = param.CultureInfo,
                BaseUrl = param.BaseUrl,
                WebsiteId = param.WebsiteId
            }));
        }