public virtual HttpRequest Create(PutDocumentRequest request) { var httpRequest = CreateFor<PutDocumentRequest>(HttpMethod.Put, GenerateRequestUrl(request.Id, request.Rev)); httpRequest.SetIfMatch(request.Rev); httpRequest.SetContent(request.Content); return httpRequest; }
public async Task <IActionResult> Edit([Bind(include: "_id, _rev, name, description, isDone, tag")] TodoTask model) { using (var client = new MyCouchClient(new DbConnectionInfo("http://localhost:5984/", "tasks"))) { var content = JsonConvert.SerializeObject(model); var request = new PutDocumentRequest(model._id, model._rev, content); var response = await client.Documents.PutAsync(request); return(RedirectToAction("Index", "Tasks")); } }
public static void GenerateDisambiguosPages() { IDictionary <string, string> mappingName = new Dictionary <string, string> { { "VS.core-docs", "DotNetCore" }, { "MSDN.aspnetAPIDocs", "ASPDotNetCore" } }; CancellationToken cancellationToken = new CancellationToken(); HashSet <string> blackList = new HashSet <string> { "index", "toc.json", "_themes" }; var duplicatedDcouments = DocumentDict.Where(e => !blackList.Contains(e.Key.Split('/').First()) && e.Value.Count > 1); foreach (var duplicatedDocument in duplicatedDcouments) { Console.WriteLine(duplicatedDocument.Key); var disabmbigousPage = GetDisambigousPage(duplicatedDocument.Key, duplicatedDocument.Value.Select( v => Tuple.Create <string, string>(v.DepotName, $"{v.AssetId}({mappingName[v.DepotName]})")).ToArray()); var url = GetBlobUrlByCreatingOne(disabmbigousPage); var putDisambigousPageRequest = new PutDocumentRequest { Metadata = new Dictionary <string, object>(), ContentSourceUri = GetCorrectedCanonicalUrl(url, duplicatedDocument.Key) }; foreach (var item in duplicatedDocument.Value) { var newAssetId = $"{item.AssetId}({mappingName[item.DepotName]})"; var putDocumentRequest = new PutDocumentRequest { Metadata = item.Metadata, ContentSourceUri = GetCorrectedCanonicalUrl(InsertDisambiguatedDisclaimer(item.ContentUri, item.AssetId), newAssetId) }; Client.PutDocument(newDepotName, newAssetId, item.Locale, item.ProductVersion, "master", putDocumentRequest, null, cancellationToken).Wait(); putDisambigousPageRequest.Metadata = item.Metadata; Client.PutDocument(newDepotName, item.AssetId, item.Locale, item.ProductVersion, "master", putDisambigousPageRequest, null, cancellationToken).Wait(); } } Console.ReadKey(); }
public static Task <DocumentHeaderResponse> PerformAsync(this IMyCouchClient client, PutDocumentRequest request) { return(client.Documents.PutAsync(request)); }