/// <summary>
 /// Edits a message template.
 /// </summary>
 /// <remarks>
 /// Host only. Requires authentication.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='messageTemplateDto'>
 /// The entity to put
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <MessageTemplateDto> PutByIdAsync(this IMessageTemplates operations, string id, MessageTemplateDto messageTemplateDto, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.PutByIdWithHttpMessagesAsync(id, messageTemplateDto, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Edits a message template.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Write.
 ///
 /// Host only. Requires authentication.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='key'>
 /// Message template name
 /// </param>
 /// <param name='body'>
 /// Message template entity
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <MessageTemplateDto> PutByIdAsync(this IMessageTemplates operations, string key, MessageTemplateDto body = default(MessageTemplateDto), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PutByIdWithHttpMessagesAsync(key, body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets the message templates.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Read.
 ///
 /// Host only. Requires authentication.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='expand'>
 /// Expands related entities inline.
 /// </param>
 /// <param name='filter'>
 /// Filters the results, based on a Boolean condition.
 /// </param>
 /// <param name='select'>
 /// Selects which properties to include in the response.
 /// </param>
 /// <param name='orderby'>
 /// Sorts the results.
 /// </param>
 /// <param name='top'>
 /// Returns only the first n results.
 /// </param>
 /// <param name='skip'>
 /// Skips the first n results.
 /// </param>
 /// <param name='count'>
 /// Includes a count of the matching results in the response.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ODataValueIEnumerableMessageTemplateDto> GetAsync(this IMessageTemplates operations, string expand = default(string), string filter = default(string), string select = default(string), string orderby = default(string), int?top = default(int?), int?skip = default(int?), bool?count = default(bool?), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(expand, filter, select, orderby, top, skip, count, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets the message templates.
 /// </summary>
 /// <remarks>
 /// Host only. Requires authentication.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='expand'>
 /// Expands related entities inline.
 /// </param>
 /// <param name='filter'>
 /// Filters the results, based on a Boolean condition.
 /// </param>
 /// <param name='select'>
 /// Selects which properties to include in the response.
 /// </param>
 /// <param name='orderby'>
 /// Sorts the results.
 /// </param>
 /// <param name='top'>
 /// Returns only the first n results.
 /// </param>
 /// <param name='skip'>
 /// Skips the first n results.
 /// </param>
 /// <param name='count'>
 /// Includes a count of the matching results in the response.
 /// </param>
 public static ODataResponseListMessageTemplateDto GetMessageTemplates(this IMessageTemplates operations, string expand = default(string), string filter = default(string), string select = default(string), string orderby = default(string), int?top = default(int?), int?skip = default(int?), bool?count = default(bool?))
 {
     return(operations.GetMessageTemplatesAsync(expand, filter, select, orderby, top, skip, count).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Edits a message template.
 /// </summary>
 /// <remarks>
 /// Host only. Requires authentication.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='messageTemplateDto'>
 /// The entity to put
 /// </param>
 public static MessageTemplateDto PutById(this IMessageTemplates operations, string id, MessageTemplateDto messageTemplateDto)
 {
     return(operations.PutByIdAsync(id, messageTemplateDto).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Edits a message template.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Administration or
 /// Administration.Write.
 ///
 /// Host only. Requires authentication.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='key'>
 /// Message template name
 /// </param>
 /// <param name='body'>
 /// Message template entity
 /// </param>
 public static MessageTemplateDto PutById(this IMessageTemplates operations, string key, MessageTemplateDto body = default(MessageTemplateDto))
 {
     return(operations.PutByIdAsync(key, body).GetAwaiter().GetResult());
 }