/// <summary>
 /// Gets information about a specific offer.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='privateStoreId'>
 /// The store ID - must use the tenant ID
 /// </param>
 /// <param name='offerId'>
 /// The offer ID to update or delete
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Offer> GetAsync(this IPrivateStoreOfferOperations operations, string privateStoreId, string offerId, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(privateStoreId, offerId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets information about a specific offer.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='privateStoreId'>
 /// The store ID - must use the tenant ID
 /// </param>
 /// <param name='offerId'>
 /// The offer ID to update or delete
 /// </param>
 public static Offer Get(this IPrivateStoreOfferOperations operations, string privateStoreId, string offerId)
 {
     return(operations.GetAsync(privateStoreId, offerId).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes an offer from the given private store.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='privateStoreId'>
 /// The store ID - must use the tenant ID
 /// </param>
 /// <param name='offerId'>
 /// The offer ID to update or delete
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteAsync(this IPrivateStoreOfferOperations operations, string privateStoreId, string offerId, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteWithHttpMessagesAsync(privateStoreId, offerId, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Deletes an offer from the given private store.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='privateStoreId'>
 /// The store ID - must use the tenant ID
 /// </param>
 /// <param name='offerId'>
 /// The offer ID to update or delete
 /// </param>
 public static void Delete(this IPrivateStoreOfferOperations operations, string privateStoreId, string offerId)
 {
     operations.DeleteAsync(privateStoreId, offerId).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Delete Private store offer. This is a workaround.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='privateStoreId'>
 /// The store ID - must use the tenant ID
 /// </param>
 /// <param name='offerId'>
 /// The offer ID to update or delete
 /// </param>
 /// <param name='payload'>
 /// Possible values include: 'DeletePrivateStoreOffer', 'Ping'
 /// </param>
 public static void Post(this IPrivateStoreOfferOperations operations, string privateStoreId, string offerId, string payload = default(string))
 {
     operations.PostAsync(privateStoreId, offerId, payload).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Update or add an offer to the default collection of the private store.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='privateStoreId'>
 /// The store ID - must use the tenant ID
 /// </param>
 /// <param name='offerId'>
 /// The offer ID to update or delete
 /// </param>
 /// <param name='payload'>
 /// </param>
 public static Offer CreateOrUpdate(this IPrivateStoreOfferOperations operations, string privateStoreId, string offerId, Offer payload = default(Offer))
 {
     return(operations.CreateOrUpdateAsync(privateStoreId, offerId, payload).GetAwaiter().GetResult());
 }