///// <summary> ///// Associates the loyalty card with current cart. ///// </summary> ///// <param name="storefront">The storefront.</param> ///// <param name="visitorContext">The visitor context.</param> ///// <param name="loyaltyCardNumber">The loyalty card number.</param> ///// <returns> ///// The manager response where the result is returned indicating the success or failure of the operation. ///// </returns> //public virtual ManagerResponse<UpdateLoyaltyCardIdResult, bool> AssociateLoyaltyCardWithCurrentCart([NotNull] CommerceStorefront storefront, [NotNull] IVisitorContext visitorContext, string loyaltyCardNumber) //{ // Assert.ArgumentNotNull(storefront, "storefront"); // Assert.ArgumentNotNull(visitorContext, "visitorContext"); // Assert.ArgumentNotNullOrEmpty(loyaltyCardNumber, "loyaltyCardNumber"); // var result = new UpdateLoyaltyCardIdResult { Success = false }; // var cartResult = this.CartManager.GetCurrentCart(storefront, visitorContext); // if (!cartResult.ServiceProviderResult.Success || cartResult.Result == null) // { // result.SystemMessages.ToList().AddRange(cartResult.ServiceProviderResult.SystemMessages); // return new ManagerResponse<UpdateLoyaltyCardIdResult, bool>(result, result.Success); // } // var cart = cartResult.ServiceProviderResult.Cart; // var request = new UpdateLoyaltyCardIdRequest(visitorContext.UserId, loyaltyCardNumber, cart.ExternalId); // result = this.LoyaltyProgramServiceProvider.UpdateLoyaltyCardId(request); // Helpers.LogSystemMessages(result.SystemMessages, result); // return new ManagerResponse<UpdateLoyaltyCardIdResult, bool>(result, result.Success); //} // NOTE: the method code is stubbed. /// <summary> /// Gets the loyalty cards. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="userId">The user identifier.</param> /// <returns>The manager response where the enumerable list of loyalty cards is returned in the Result.</returns> public virtual ManagerResponse <GetLoyaltyCardsResult, IEnumerable <LoyaltyCard> > GetLoyaltyCards([NotNull] CommerceStorefront storefront, [NotNull] string userId) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNullOrEmpty(userId, "userId"); var request = new GetLoyaltyCardsRequest(userId, storefront.ShopName); var result = new GetLoyaltyCardsResult(); //this.LoyaltyProgramServiceProvider.GetLoyaltyCards(request); if (result.Success && result.LoyaltyCards != null) { return(new ManagerResponse <GetLoyaltyCardsResult, IEnumerable <LoyaltyCard> >(result, result.LoyaltyCards.ToList())); } Helpers.LogSystemMessages(result.SystemMessages, result); return(new ManagerResponse <GetLoyaltyCardsResult, IEnumerable <LoyaltyCard> >(result, new List <LoyaltyCard>())); }
/// <summary> /// Gets the loyalty cards. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="userId">The user identifier.</param> /// <param name="getDetails">The getDetails specify if card details should be returned.</param> /// <returns>The manager response where the enumerable list of loyalty cards is returned in the Result.</returns> public virtual ManagerResponse <GetLoyaltyCardsResult, IEnumerable <LoyaltyCard> > GetLoyaltyCards([NotNull] CommerceStorefront storefront, [NotNull] string userId, bool getDetails) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNullOrEmpty(userId, "userId"); var request = new GetLoyaltyCardsRequest(userId, storefront.ShopName); request.Properties.Add("GetDetails", getDetails); var result = this.LoyaltyProgramServiceProvider.GetLoyaltyCards(request); if (result.Success && result.LoyaltyCards != null) { return(new ManagerResponse <GetLoyaltyCardsResult, IEnumerable <LoyaltyCard> >(result, result.LoyaltyCards.ToList())); } result.WriteToSitecoreLog(); return(new ManagerResponse <GetLoyaltyCardsResult, IEnumerable <LoyaltyCard> >(result, new List <LoyaltyCard>())); }
/// <summary> /// Gets the loyalty cards. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="userId">The user identifier.</param> /// <returns>The manager response where the enumerable list of loyalty cards is returned in the Result.</returns> public virtual ManagerResponse<GetLoyaltyCardsResult, IEnumerable<LoyaltyCard>> GetLoyaltyCards([NotNull] CommerceStorefront storefront, [NotNull] string userId) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNullOrEmpty(userId, "userId"); var request = new GetLoyaltyCardsRequest(userId, storefront.ShopName); var result = this.LoyaltyProgramServiceProvider.GetLoyaltyCards(request); if (result.Success && result.LoyaltyCards != null) { return new ManagerResponse<GetLoyaltyCardsResult, IEnumerable<LoyaltyCard>>(result, result.LoyaltyCards.ToList()); } Helpers.LogSystemMessages(result.SystemMessages, result); return new ManagerResponse<GetLoyaltyCardsResult, IEnumerable<LoyaltyCard>>(result, new List<LoyaltyCard>()); }