/// <summary>
        /// Sets the authenticated user's preferences.
        /// </summary>
        /// 
        /// <param name="BidderNoticePreferences">
        /// Container consisting of the seller's preference for receiving contact
        /// information for unsuccessful bidders. This preference is only applicable for
        /// auction listings.
        /// </param>
        ///
        /// <param name="CombinedPaymentPreferences">
        /// Container consisting of the seller's preference for allowing Combined Invoice 
        /// orders for the same seller and buyer.
        /// 
        /// <span class="tablenote"><strong>Note:</strong>
        /// Calculated and flat-rate shipping preferences are no longer set using this
        /// call. Instead, use the <b>SetShippingDiscountProfiles</b> call to
        /// set the shipping discounts for Combined Invoice orders.
        /// </span>
        /// 
        /// <span class="tablenote"><strong>Note:</strong>
        /// A seller's combined payment preferences can take up to 7 days to
        /// have any affect on eBay.
        /// </span>
        /// </param>
        ///
        /// <param name="CrossPromotionPreferences">
        /// This container should no longer be used as eBay Store Cross Promotions are no
        /// longer supported in the Trading API. This container will be removed from the
        /// Trading WSDL and API Call Reference docs in a future release.
        /// 
        /// Container consisting of the seller's cross-promotion preferences. These
        /// preferences are only applicable for eBay Store owners. One or more
        /// preferences may be set or modified under this field.
        /// </param>
        ///
        /// <param name="SellerPaymentPreferences">
        /// Container consisting of the seller's payment preferences. One or more
        /// preferences may be set or modified under this field. Payment preferences
        /// specified in a <b>SetUserPreferences</b> call override the settings
        /// in My eBay payment preferences.
        /// </param>
        ///
        /// <param name="SellerFavoriteItemPreferences">
        /// Container consisting of the seller's preferences for displaying items on a
        /// buyer's Favorite Sellers' Items page or Favorite Sellers' Items digest. One
        /// or more preferences may be set or modified under this field.
        /// </param>
        ///
        /// <param name="EndOfAuctionEmailPreferences">
        /// Container consisting of the seller's preferences for the end-of-auction
        /// email sent to the winning bidder. These preferences allow the seller to
        /// customize the Email that is sent to buyer at the end of the auction. One or
        /// more preferences may be set or modified under this field. These preferences
        /// are only applicable for auction listings.
        /// </param>
        ///
        /// <param name="EmailShipmentTrackingNumberPreference">
        /// Flag that controls whether the shipment's tracking number is sent by Email
        /// from the seller to the buyer.
        /// </param>
        ///
        /// <param name="RequiredShipPhoneNumberPreference">
        /// Flag that controls whether the buyer is required to provide a shipping phone
        /// number upon checkout. Some shipping carriers require the receiver's phone
        /// number.
        /// </param>
        ///
        /// <param name="UnpaidItemAssistancePreferences">
        /// Container consisting of a seller's Unpaid Item Assistant preferences. The
        /// Unpaid Item Assistant automatically opens an Unpaid Item dispute on the
        /// behalf of the seller. One or more preferences may be set or modified under
        /// this field.
        /// </param>
        ///
        /// <param name="PurchaseReminderEmailPreferences">
        /// Container consisting of a seller's preference for sending a purchase
        /// reminder email to buyers.
        /// </param>
        ///
        /// <param name="SellerThirdPartyCheckoutDisabled">
        /// A flag used to disable the use of a third-party application to handle the
        /// checkout flow for a seller. If set to true, Third-Party Checkout is disabled
        /// and any checkout flow initiated on the seller's application is redirected to
        /// the eBay checkout flow.
        /// </param>
        ///
        /// <param name="DispatchCutoffTimePreference">
        /// Contains information about a seller's order cut off time preferences for same day shipping. If the seller specifies a value of <code>0</code> in <strong>Item.DispatchTimeMax</strong> to offer same day handling when listing an item, the seller's shipping time commitment depends on the order cut off time set for the listing site, as indicated by <strong>DispatchCutoffTimePreference.CutoffTime</strong>.
        /// </param>
        ///
        /// <param name="GlobalShippingProgramListingPreference">
        /// If this flag is included and set to <code>true</code>, the seller's new listings will enable the Global Shipping Program by default.
        /// <br/><br/>
        /// <span class="tablenote">
        /// <strong>Note:</strong> This field is ignored for sellers who are not opted in to the Global Shipping Program (when GetUserPreferences returns <strong>OfferGlobalShippingProgramPreference</strong> with a value of <code>false</code>).
        /// </span>
        /// </param>
        ///
        /// <param name="OverrideGSPserviceWithIntlService">
        /// If this flag is included and set to <code>true</code>, and the seller specifies an international shipping service to a particular country for a given listing, the specified service will take precedence and be the listing's default international shipping option for buyers in that country, rather than the Global Shipping Program. The Global Shipping Program will still be the listing's default option for shipping to any Global Shipping-eligible country for which the seller does <em>not</em> specify an international shipping service.
        /// <br/><br/>
        /// If this flag is set to <code>false</code>, the Global Shipping Program will be each Global Shipping-eligible listing's default option for shipping to any Global Shipping-eligible country, regardless of any international shipping service that the seller specifies for the listing.
        /// </param>
        ///
        /// <param name="OutOfStockControlPreference">
        /// When this flag is set to 'true', it enable the Out-of-Stock feature. A seller would use 
        /// this feature to keep Fixed-Price GTC (Good 'Til Canceled) listings
        /// alive even when the "quantity available" value goes to 0 (zero). This is useful when waiting 
        /// for additional stock and eliminates the need to end the listing
        /// and then recreating it when stock arrives.
        /// <br/><br/>
        /// While the "quantity available" value is 0, the listing would be hidden from eBay search and
        /// if that item was specifically searched for with <b>GetItem</b>
        /// (or related call), the element <b>HideFromSearch</b> would be returned as 'true' and
        /// <b>ReasonHideFromSearch</b> would be returned as 'OutOfStock'.
        /// <br/><br/>
        /// When stock is available, the seller can use the <b>Revise</b> calls to update the inventory of the item
        /// (through the <b>Item.Quantity</b> or <b>Item.Variations.Variation.Quantity</b>
        /// fields) and the listing would appear again.
        /// <br/><br/>
        /// You can return the value of this flag using the <a href="GetUserPreferences.html#Request.ShowOutOfStockControlPreference">GetUserPreferences</a> call and setting the <b>ShowOutOfStockControlPreference</b> field to 'true'.
        /// <br/><br/>
        /// <span class="tablenote"><b>IMPORTANT: </b>
        /// When a listing using the Out-of-Stock feature has zero quantity, the seller has 90 days to add inventory without incurring a listing fee. Fees are changed at the end of each the billing cycle but are then refunded if the item is out-of-stock for an entire billing period. See <a href="../../../../guides/ebayfeatures/Development/Listings-UseOutOfStock.html#FeesForaListingWithZeroQuantity">Fees For a Listing With Zero Quantity</a> for details.
        /// </span>  
        /// </param>
        ///
        public void SetUserPreferences(BidderNoticePreferencesType BidderNoticePreferences, CombinedPaymentPreferencesType CombinedPaymentPreferences, CrossPromotionPreferencesType CrossPromotionPreferences, SellerPaymentPreferencesType SellerPaymentPreferences, SellerFavoriteItemPreferencesType SellerFavoriteItemPreferences, EndOfAuctionEmailPreferencesType EndOfAuctionEmailPreferences, bool EmailShipmentTrackingNumberPreference, bool RequiredShipPhoneNumberPreference, UnpaidItemAssistancePreferencesType UnpaidItemAssistancePreferences, PurchaseReminderEmailPreferencesType PurchaseReminderEmailPreferences, bool SellerThirdPartyCheckoutDisabled, DispatchCutoffTimePreferencesType DispatchCutoffTimePreference, bool GlobalShippingProgramListingPreference, bool OverrideGSPserviceWithIntlService, bool OutOfStockControlPreference)
        {
            this.BidderNoticePreferences = BidderNoticePreferences;
            this.CombinedPaymentPreferences = CombinedPaymentPreferences;
            this.CrossPromotionPreferences = CrossPromotionPreferences;
            this.SellerPaymentPreferences = SellerPaymentPreferences;
            this.SellerFavoriteItemPreferences = SellerFavoriteItemPreferences;
            this.EndOfAuctionEmailPreferences = EndOfAuctionEmailPreferences;
            this.EmailShipmentTrackingNumberPreference = EmailShipmentTrackingNumberPreference;
            this.RequiredShipPhoneNumberPreference = RequiredShipPhoneNumberPreference;
            this.UnpaidItemAssistancePreferences = UnpaidItemAssistancePreferences;
            this.PurchaseReminderEmailPreferences = PurchaseReminderEmailPreferences;
            this.SellerThirdPartyCheckoutDisabled = SellerThirdPartyCheckoutDisabled;
            this.DispatchCutoffTimePreference = DispatchCutoffTimePreference;
            this.GlobalShippingProgramListingPreference = GlobalShippingProgramListingPreference;
            this.OverrideGSPserviceWithIntlService = OverrideGSPserviceWithIntlService;
            this.OutOfStockControlPreference = OutOfStockControlPreference;

            Execute();
        }
        /// <summary>
        /// Sets the authenticated user's preferences.
        /// </summary>
        ///
        /// <param name="BidderNoticePreferences">
        /// Container consisting of the seller's preference for receiving contact
        /// information for unsuccessful bidders. This preference is only applicable for
        /// auction listings.
        /// </param>
        ///
        /// <param name="CombinedPaymentPreferences">
        /// Container consisting of the seller's preference for allowing Combined Invoice
        /// orders for the same seller and buyer.
        ///
        /// <span class="tablenote"><strong>Note:</strong>
        /// Calculated and flat-rate shipping preferences are no longer set using this
        /// call. Instead, use the <b>SetShippingDiscountProfiles</b> call to
        /// set the shipping discounts for Combined Invoice orders.
        /// </span>
        ///
        /// <span class="tablenote"><strong>Note:</strong>
        /// A seller's combined payment preferences can take up to 7 days to
        /// have any affect on eBay.
        /// </span>
        /// </param>
        ///
        /// <param name="CrossPromotionPreferences">
        /// This field is deprecated.
        /// </param>
        ///
        /// <param name="SellerPaymentPreferences">
        /// Container consisting of the seller's payment preferences. One or more
        /// preferences may be set or modified under this field. Payment preferences
        /// specified in a <b>SetUserPreferences</b> call override the settings
        /// in My eBay payment preferences.
        /// </param>
        ///
        /// <param name="SellerFavoriteItemPreferences">
        /// Container consisting of the seller's preferences for displaying items on a
        /// buyer's Favorite Sellers' Items page or Favorite Sellers' Items digest. One
        /// or more preferences may be set or modified under this field.
        /// </param>
        ///
        /// <param name="EndOfAuctionEmailPreferences">
        /// Container consisting of the seller's preferences for the end-of-auction
        /// email sent to the winning bidder. These preferences allow the seller to
        /// customize the Email that is sent to buyer at the end of the auction. One or
        /// more preferences may be set or modified under this field. These preferences
        /// are only applicable for auction listings.
        /// </param>
        ///
        /// <param name="EmailShipmentTrackingNumberPreference">
        /// Flag that controls whether the shipment's tracking number is sent by Email
        /// from the seller to the buyer.
        /// </param>
        ///
        /// <param name="RequiredShipPhoneNumberPreference">
        /// Flag that controls whether the buyer is required to provide a shipping phone
        /// number upon checkout. Some shipping carriers require the receiver's phone
        /// number.
        /// </param>
        ///
        /// <param name="UnpaidItemAssistancePreferences">
        /// Container consisting of a seller's Unpaid Item Assistant preferences. The
        /// Unpaid Item Assistant automatically opens an Unpaid Item dispute on the
        /// behalf of the seller. One or more preferences may be set or modified under
        /// this field.
        /// </param>
        ///
        /// <param name="PurchaseReminderEmailPreferences">
        /// Container consisting of a seller's preference for sending a purchase
        /// reminder email to buyers.
        /// </param>
        ///
        /// <param name="SellerThirdPartyCheckoutDisabled">
        /// A flag used to disable the use of a third-party application to handle the
        /// checkout flow for a seller. If set to true, Third-Party Checkout is disabled
        /// and any checkout flow initiated on the seller's application is redirected to
        /// the eBay checkout flow.
        /// </param>
        ///
        /// <param name="DispatchCutoffTimePreference">
        /// Contains information about a seller's order cut off time preferences for same day shipping. If the seller specifies a value of <code>0</code> in <strong>Item.DispatchTimeMax</strong> to offer same day handling when listing an item, the seller's shipping time commitment depends on the order cut off time set for the listing site, as indicated by <strong>DispatchCutoffTimePreference.CutoffTime</strong>.
        /// </param>
        ///
        /// <param name="GlobalShippingProgramListingPreference">
        /// If this flag is included and set to <code>true</code>, the seller's new listings will enable the Global Shipping Program by default.
        /// <br/><br/>
        /// <span class="tablenote">
        /// <strong>Note:</strong> This field is ignored for sellers who are not opted in to the Global Shipping Program (when GetUserPreferences returns <strong>OfferGlobalShippingProgramPreference</strong> with a value of <code>false</code>).
        /// </span>
        /// </param>
        ///
        /// <param name="OverrideGSPserviceWithIntlService">
        /// If this flag is included and set to <code>true</code>, and the seller specifies an international shipping service to a particular country for a given listing, the specified service will take precedence and be the listing's default international shipping option for buyers in that country, rather than the Global Shipping Program. The Global Shipping Program will still be the listing's default option for shipping to any Global Shipping-eligible country for which the seller does <em>not</em> specify an international shipping service.
        /// <br/><br/>
        /// If this flag is set to <code>false</code>, the Global Shipping Program will be each Global Shipping-eligible listing's default option for shipping to any Global Shipping-eligible country, regardless of any international shipping service that the seller specifies for the listing.
        /// </param>
        ///
        /// <param name="OutOfStockControlPreference">
        /// When this flag is set to 'true', it enable the Out-of-Stock feature. A seller would use
        /// this feature to keep Fixed-Price GTC (Good 'Til Canceled) listings
        /// alive even when the "quantity available" value goes to 0 (zero). This is useful when waiting
        /// for additional stock and eliminates the need to end the listing
        /// and then recreating it when stock arrives.
        /// <br/><br/>
        /// While the "quantity available" value is 0, the listing would be hidden from eBay search and
        /// if that item was specifically searched for with <b>GetItem</b>
        /// (or related call), the element <b>HideFromSearch</b> would be returned as 'true' and
        /// <b>ReasonHideFromSearch</b> would be returned as 'OutOfStock'.
        /// <br/><br/>
        /// When stock is available, the seller can use the <b>Revise</b> calls to update the inventory of the item
        /// (through the <b>Item.Quantity</b> or <b>Item.Variations.Variation.Quantity</b>
        /// fields) and the listing would appear again.
        /// <br/><br/>
        /// You can return the value of this flag using the <a href="GetUserPreferences.html#Request.ShowOutOfStockControlPreference">GetUserPreferences</a> call and setting the <b>ShowOutOfStockControlPreference</b> field to 'true'.
        /// <br/><br/>
        /// <span class="tablenote"><b>IMPORTANT: </b>
        /// When a listing using the Out-of-Stock feature has zero quantity, the seller has 90 days to add inventory without incurring a listing fee. Fees are changed at the end of each the billing cycle but are then refunded if the item is out-of-stock for an entire billing period. See <a href="../../../../guides/ebayfeatures/Development/Listings-UseOutOfStock.html#FeesForaListingWithZeroQuantity">Fees For a Listing With Zero Quantity</a> for details.
        /// </span>
        /// </param>
        ///
        public void SetUserPreferences(BidderNoticePreferencesType BidderNoticePreferences, CombinedPaymentPreferencesType CombinedPaymentPreferences, CrossPromotionPreferencesType CrossPromotionPreferences, SellerPaymentPreferencesType SellerPaymentPreferences, SellerFavoriteItemPreferencesType SellerFavoriteItemPreferences, EndOfAuctionEmailPreferencesType EndOfAuctionEmailPreferences, bool EmailShipmentTrackingNumberPreference, bool RequiredShipPhoneNumberPreference, UnpaidItemAssistancePreferencesType UnpaidItemAssistancePreferences, PurchaseReminderEmailPreferencesType PurchaseReminderEmailPreferences, bool SellerThirdPartyCheckoutDisabled, DispatchCutoffTimePreferencesType DispatchCutoffTimePreference, bool GlobalShippingProgramListingPreference, bool OverrideGSPserviceWithIntlService, bool OutOfStockControlPreference)
        {
            this.BidderNoticePreferences                = BidderNoticePreferences;
            this.CombinedPaymentPreferences             = CombinedPaymentPreferences;
            this.CrossPromotionPreferences              = CrossPromotionPreferences;
            this.SellerPaymentPreferences               = SellerPaymentPreferences;
            this.SellerFavoriteItemPreferences          = SellerFavoriteItemPreferences;
            this.EndOfAuctionEmailPreferences           = EndOfAuctionEmailPreferences;
            this.EmailShipmentTrackingNumberPreference  = EmailShipmentTrackingNumberPreference;
            this.RequiredShipPhoneNumberPreference      = RequiredShipPhoneNumberPreference;
            this.UnpaidItemAssistancePreferences        = UnpaidItemAssistancePreferences;
            this.PurchaseReminderEmailPreferences       = PurchaseReminderEmailPreferences;
            this.SellerThirdPartyCheckoutDisabled       = SellerThirdPartyCheckoutDisabled;
            this.DispatchCutoffTimePreference           = DispatchCutoffTimePreference;
            this.GlobalShippingProgramListingPreference = GlobalShippingProgramListingPreference;
            this.OverrideGSPserviceWithIntlService      = OverrideGSPserviceWithIntlService;
            this.OutOfStockControlPreference            = OutOfStockControlPreference;

            Execute();
        }
        /// <summary>
        /// Sets the authenticated user's preferences to those specified in the request.
        /// </summary>
        /// 
        /// <param name="BidderNoticePreferences">
        /// The user's bidder notice preferences to be set.
        /// </param>
        ///
        /// <param name="CombinedPaymentPreferences">
        /// DO NOT USE THIS FIELD.
        /// 
        /// Instead, use SetShippingDiscountProfiles to set the shipping preferences.
        /// 
        /// The user's combined payment preferences to be set. When you change these
        /// preferences, it can take up to 7 days for the change to have any logical or
        /// functional effect on eBay.
        /// </param>
        ///
        /// <param name="CrossPromotionPreferences">
        /// Sets the user's cross promotion preferences.
        /// </param>
        ///
        /// <param name="SellerPaymentPreferences">
        /// Sets the user's seller payment preferences.
        /// </param>
        ///
        /// <param name="SellerFavoriteItemPreferences">
        /// Ssets the seller's favorite item preferences.
        /// </param>
        ///
        /// <param name="EndOfAuctionEmailPreferences">
        /// Sets the seller's end of auction email preferences.
        /// </param>
        ///
        /// <param name="EmailShipmentTrackingNumberPreference">
        /// Sets the preference for the email shipment tracking number.
        /// </param>
        ///
        /// <param name="UnpaidItemAssistancePreferences">
        /// Sets the preference for the Unpaid Item Assistance mechanism.
        /// </param>
        ///
        public void SetUserPreferences(BidderNoticePreferencesType BidderNoticePreferences, CombinedPaymentPreferencesType CombinedPaymentPreferences, CrossPromotionPreferencesType CrossPromotionPreferences, SellerPaymentPreferencesType SellerPaymentPreferences, SellerFavoriteItemPreferencesType SellerFavoriteItemPreferences, EndOfAuctionEmailPreferencesType EndOfAuctionEmailPreferences, bool EmailShipmentTrackingNumberPreference, UnpaidItemAssistancePreferencesType UnpaidItemAssistancePreferences)
        {
            this.BidderNoticePreferences = BidderNoticePreferences;
            this.CombinedPaymentPreferences = CombinedPaymentPreferences;
            this.CrossPromotionPreferences = CrossPromotionPreferences;
            this.SellerPaymentPreferences = SellerPaymentPreferences;
            this.SellerFavoriteItemPreferences = SellerFavoriteItemPreferences;
            this.EndOfAuctionEmailPreferences = EndOfAuctionEmailPreferences;
            this.EmailShipmentTrackingNumberPreference = EmailShipmentTrackingNumberPreference;
            this.UnpaidItemAssistancePreferences = UnpaidItemAssistancePreferences;

            Execute();
        }