Ejemplo n.º 1
0
        /// <summary>
        /// Post a single document.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="collectionName"></param>
        /// <param name="document"></param>
        /// <param name="cancellationToken"></param>
        /// <param name="query"></param>
        /// <returns></returns>
        public virtual async Task <PostDocumentResponse <T> > PostDocumentAsync <T>(string collectionName, T document,
                                                                                    PostDocumentsOptions query = null, CancellationToken cancellationToken = default)
        {
            if (query != null && query.ContentSerializationOptions == null)
            {
                query.ContentSerializationOptions = new ContentSerializationOptions(false, true);
            }

            return(await PostRequestAsync($"{ApiRootPath}/{WebUtility.UrlEncode(collectionName)}",
                                          response => new PostDocumentResponse <T>(response), document,
                                          query ?? new PostDocumentsOptions
            {
                ContentSerializationOptions = new ContentSerializationOptions(false, true)
            }, cancellationToken));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Post multiple documents in a single request.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collectionName"></param>
 /// <param name="documents"></param>
 /// <param name="cancellationToken"></param>
 /// <param name="query"></param>
 /// <returns></returns>
 public virtual async Task <PostDocumentsResponse <T> > PostDocumentsAsync <T>(string collectionName,
                                                                               IEnumerable <T> documents, PostDocumentsOptions query = null, CancellationToken cancellationToken = default)
 {
     return(await PostRequestAsync($"{ApiRootPath}/{WebUtility.UrlEncode(collectionName)}",
                                   response => new PostDocumentsResponse <T>(response), documents, query, cancellationToken));
 }