public GiftCardManager(GiftCardServiceProvider giftCardServiceProvider, StorefrontContext storefrontContext)
        {
            Assert.ArgumentNotNull(giftCardServiceProvider, nameof(giftCardServiceProvider));

            GiftCardServiceProvider = giftCardServiceProvider;
            StorefrontContext       = storefrontContext;
        }
        private ManagerResponse <GetGiftCardResult, GiftCard> GetGiftCard(string giftCardId)
        {
            Assert.ArgumentNotNullOrEmpty(giftCardId, nameof(giftCardId));

            if (this.StorefrontContext.Current == null)
            {
                throw new InvalidOperationException("Cannot be called without a valid storefront context.");
            }

            var request = new GetGiftCardRequest(giftCardId, StorefrontContext.Current.ShopName);
            var result  = GiftCardServiceProvider.GetGiftCard(request);

            result.WriteToSitecoreLog();
            return(new ManagerResponse <GetGiftCardResult, GiftCard>(result, result.GiftCard));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GiftCardManager"/> class.
        /// </summary>
        /// <param name="giftCardServiceProvider">The gift card service provider.</param>
        public GiftCardManager([NotNull] GiftCardServiceProvider giftCardServiceProvider)
        {
            Assert.ArgumentNotNull(giftCardServiceProvider, "giftCardServiceProvider");

            this.GiftCardServiceProvider = giftCardServiceProvider;
        }