Example #1
0
        /// <summary>
        /// Get line items of a cart of a customer
        /// </summary>
        /// <param name="param"></param>
        /// <returns>Line items of a cart</returns>
        public virtual Task <List <LineItem> > GetLineItemsAsync(GetLineItemsParam param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.Scope))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.Scope)), nameof(param));
            }
            if (param.CultureInfo == null)
            {
                throw new ArgumentException(GetMessageOfNull(nameof(param.CultureInfo)), nameof(param));
            }
            if (string.IsNullOrWhiteSpace(param.CartName))
            {
                throw new ArgumentException(GetMessageOfNullWhiteSpace(nameof(param.CartName)), nameof(param));
            }
            if (param.CustomerId == Guid.Empty)
            {
                throw new ArgumentException(GetMessageOfEmpty(nameof(param.CustomerId)), nameof(param));
            }

            GetLineItemsInCartRequest request = new GetLineItemsInCartRequest
            {
                CultureName = param.CultureInfo.Name,
                CustomerId  = param.CustomerId,
                ScopeId     = param.Scope,
                CartName    = param.CartName,
                CartType    = param.CartType
            };

            //Avoid caching because of returning with type of line items
            return(OvertureClient.SendAsync(request));
        }
Example #2
0
 public Task <List <LineItem> > GetLineItemsAsync(GetLineItemsParam param) => throw new NotImplementedException();