/// <summary> /// Put command for new client tests /// </summary> /// <param name="session"></param> /// <param name="entity"></param> /// <param name="id"></param> public void PutCommand(IDocumentSession session, object entity, string id) { var documentInfo = new DocumentInfo { Entity = entity, Id = id }; var tag = session.Advanced.DocumentStore.Conventions.GetDynamicTagName(entity); var metadata = new DynamicJsonValue(); if (tag != null) { metadata[Constants.Headers.RavenEntityName] = tag; } documentInfo.Metadata = session.Advanced.Context.ReadObject(metadata, id); documentInfo.Document = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(documentInfo.Entity, documentInfo); var putCommand = new PutDocumentCommand() { Id = id, Etag = documentInfo.ETag, Document = documentInfo.Document, Context = session.Advanced.Context }; session.Advanced.RequestExecuter.Execute(putCommand, session.Advanced.Context); }
public WorkingWithDocumentIdentifiers(string g) { var store = new DocumentStore(); var session = store.OpenSession(); #region commands_identity_generate var command = new NextIdentityForCommand("products"); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); var identity = command.Result; var doc = new DynamicJsonValue { ["Name"] = "My RavenDB" }; var blittableDoc = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(doc, null); var putCommand = new PutDocumentCommand("products/" + identity, null, blittableDoc); session.Advanced.RequestExecutor.Execute(putCommand, session.Advanced.Context); #endregion #region commands_identity_set var seedIdentityCommand = new SeedIdentityForCommand("products", 1994); #endregion }
public void Foo() { using (var store = new DocumentStore()) using (var session = store.OpenSession()) { #region put_sample // Create a new document var doc = new Category { Name = "My category", Description = "My category description" }; // Create metadata on the document var docInfo = new DocumentInfo { Collection = "Categories" }; // Convert your entity to a BlittableJsonReaderObject var blittableDoc = session.Advanced.JsonConverter.ToBlittable(doc, docInfo); // The Put command (parameters are document ID, changeVector check is null, the document to store) var command = new PutDocumentCommand("categories/999", null, blittableDoc); // RequestExecutor sends the command to the server session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); #endregion } }
public void UpdatePersona(Persona persona) { string Id = OptenerID(persona); OptenerAmigos(persona); using (var session = DBServices.Store.OpenSession()) { var doc = new Persona { Nombre = persona.Nombre, Apellidos = persona.Apellidos, Edad = persona.Edad, Amigo1 = persona.Amigo1, Amigo2 = persona.Amigo2 }; var docInfo = new DocumentInfo { Collection = "Personas" }; var blittableDoc = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(doc, docInfo); var command = new PutDocumentCommand(Id, null, blittableDoc); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); session.SaveChanges(); } }
public IActionResult Post([FromBody] Order order) { try { var docInfo = new DocumentInfo { Collection = "Orders" }; var session = _documentStoreHolder.Store.OpenSession(); var document = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(order, docInfo); var command = new PutDocumentCommand(order.OrderId, null, document); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); _logger.LogInformation($"Order {order.OrderId} for {order.ClientName} {order.ClientSurname} Created"); _eventBus.Publish(new NewOrderCreatedIntegrationEvent { OrderId = order.OrderId, ClientId = $"{order.ClientName}//{order.ClientSurname}", Quantity = order.Quantity }); } catch (Exception e) { _logger.LogError(e, e.Message); return(StatusCode(500, e.Message)); } return(Created("", order)); }
public virtual async Task <DocumentHeaderResponse> PutAsync(PutDocumentCommand cmd) { Ensure.That(cmd, "cmd").IsNotNull(); var req = CreateRequest(cmd); var res = SendAsync(req); return(ProcessDocumentHeaderResponse(await res.ForAwait())); }
protected virtual HttpRequestMessage CreateRequest(PutDocumentCommand cmd) { var req = new HttpRequest(HttpMethod.Put, GenerateRequestUrl(cmd.Id, cmd.Rev)); req.SetIfMatch(cmd.Rev); req.SetContent(cmd.Content); return(req); }
public async Task <PutResult> PutAsync(string id, string changeVector, object data, Dictionary <string, object> metadata = null, CancellationToken cancellationToken = default(CancellationToken)) { if (id == null) { throw new ArgumentNullException(nameof(id)); } if (data == null) { throw new ArgumentNullException(nameof(data)); } var documentInfo = new DocumentInfo { Id = id, ChangeVector = changeVector }; using (var session = _store.OpenSession()) { var documentJson = data as BlittableJsonReaderObject; var metadataJson = metadata != null ? EntityToBlittable.ConvertEntityToBlittable(metadata, session.Advanced.DocumentStore.Conventions, session.Advanced.Context) : null; if (documentJson == null) { if (metadataJson != null) { documentInfo.Metadata = metadataJson; documentInfo.MetadataInstance = new MetadataAsDictionary(metadata); } documentJson = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(data, documentInfo); } else { if (metadataJson != null) { documentJson.Modifications = new DynamicJsonValue(documentJson) { [Constants.Documents.Metadata.Key] = metadataJson }; documentJson = session.Advanced.Context.ReadObject(documentJson, id); } } var command = new PutDocumentCommand(id, changeVector, documentJson); await RequestExecutor.ExecuteAsync(command, Context, token : cancellationToken); return(command.Result); } }
public void Put(Task task) { var session = store.OpenSession(); var docInfo = new DocumentInfo { Collection = "Tasks" }; var blittableDoc = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(task, docInfo); var command = new PutDocumentCommand(task.Id, null, blittableDoc); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); }
public void CanGetCorrectOutputWhenUsingDuplicateArray() { using (var store = GetDocumentStore()) { store.Maintenance.Send(new PutIndexesOperation(new Raven.Client.Documents.Indexes.IndexDefinition { Maps = { @"docs.Documents.Select(doc => new { Name = doc.Name, Properties = doc.Properties, col = new[]{ new { Name = doc.Name, Properties = doc.Properties } }}) " }, Reduce = @"results.GroupBy(doc=> new { Name = doc.Name }).Select(g=> new { Name = g.Key.Name, Properties = g.SelectMany(d => d.Properties), col = g.SelectMany(d => d.col) })", Name = "test" })); var requestExecuter = store.GetRequestExecutor(); using (requestExecuter.ContextPool.AllocateOperationContext(out var context)) { var json = context.Read(new MemoryStream(Encoding.UTF8.GetBytes(Doc)), "users/1"); var putCommand = new PutDocumentCommand("users/1", null, json); requestExecuter.Execute(putCommand, context); } using (var session = store.OpenSession()) { var r = session.Advanced.RawQuery <dynamic>(@"from index test") .WaitForNonStaleResults() .Single(); Assert.Equal("a1", r.col[0].Properties[0].Key.ToString()); } } }
static void StoreUniqueDoc(IDocumentStore store, string id, SagaUniqueIdentity document) { var documentInfo = new DocumentInfo { MetadataInstance = new MetadataAsDictionary() }; documentInfo.MetadataInstance[Constants.Documents.Metadata.RavenClrType] = "NServiceBus.RavenDB.Persistence.SagaPersister.SagaUniqueIdentity, NServiceBus.RavenDB"; documentInfo.MetadataInstance[Constants.Documents.Metadata.Collection] = "SagaUniqueIdentities"; Console.WriteLine($"Creating unique identity: {id}"); using (var session = store.OpenSession()) { var blittableDoc = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(document, documentInfo); var command = new PutDocumentCommand(id, string.Empty, blittableDoc); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); session.SaveChanges(); } }
public async Task MergedPutCommand_WhenDocumentAlreadyDeletedAndFailOnConcurrency_ShouldNotDeleteTombstone() { var store = GetDocumentStore(new Options { ModifyDocumentStore = s => s.Conventions.UseOptimisticConcurrency = true, ModifyDatabaseRecord = r => r.Settings["Tombstones.CleanupIntervalInMin"] = int.MaxValue.ToString() }); const string id = "TestObjs/1"; using (var session = store.OpenAsyncSession()) { await session.StoreAsync(new TestObj(), id); await session.SaveChangesAsync(); } using (var session1 = store.OpenAsyncSession()) { session1.Delete(id); await session1.SaveChangesAsync().ContinueWith(_ => ""); } Assert.NotEqual(0, GetTombstones(store).Count); var requestExecuter = store.GetRequestExecutor(); using (requestExecuter.ContextPool.AllocateOperationContext(out JsonOperationContext context)) { var djv = new DynamicJsonValue { [Raven.Client.Constants.Documents.Metadata.Key] = new DynamicJsonValue { [Raven.Client.Constants.Documents.Metadata.Collection] = store.Conventions.FindCollectionName(typeof(TestObj)) } }; var json = context.ReadObject(djv, id); var putCommand = new PutDocumentCommand(id, "someConflictedChangeVector", json); await Assert.ThrowsAnyAsync <ConcurrencyException>(async() => await requestExecuter.ExecuteAsync(putCommand, context)); } Assert.NotEqual(0, GetTombstones(store).Count); }
static void StoreSaga(IDocumentStore store, string id, object document, string entityName, string typeName, string uniqueDocId) { var documentInfo = new DocumentInfo { MetadataInstance = new MetadataAsDictionary() }; documentInfo.MetadataInstance[Constants.Documents.Metadata.RavenClrType] = typeName; documentInfo.MetadataInstance["NServiceBus-UniqueDocId"] = uniqueDocId; documentInfo.MetadataInstance[Constants.Documents.Metadata.Collection] = entityName; Console.WriteLine($"Creating {entityName}: {id}"); using (var session = store.OpenSession()) { var blittableDoc = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(document, documentInfo); var command = new PutDocumentCommand(id, string.Empty, blittableDoc); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); session.SaveChanges(); } }
public void CanOverwriteDocumentWithSmallerValue() { using (var store = GetDocumentStore()) { var requestExecuter = store.GetRequestExecutor(); using (requestExecuter.ContextPool.AllocateOperationContext(out JsonOperationContext context)) { var djv = new DynamicJsonValue { ["Name"] = "Fitzchak", ["LastName"] = "Very big value here, so can reproduce the issue", [Constants.Documents.Metadata.Key] = new DynamicJsonValue { ["SomeMoreData"] = "Make this object bigger", ["SomeMoreData2"] = "Make this object bigger", ["SomeMoreData3"] = "Make this object bigger" } }; var json = context.ReadObject(djv, "users/1"); var putCommand = new PutDocumentCommand("users/1", null, json); requestExecuter.Execute(putCommand, context); djv = new DynamicJsonValue { ["Name"] = "Fitzchak" }; json = context.ReadObject(djv, "users/1"); putCommand = new PutDocumentCommand("users/1", null, json); requestExecuter.Execute(putCommand, context); } } }
public void Foo() { using (var store = new DocumentStore()) using (var session = store.OpenSession()) { #region put_sample var doc = new Category { Name = "My category", Description = "My category description" }; var docInfo = new DocumentInfo { Collection = "Categories" }; var blittableDoc = session.Advanced.EntityToBlittable.ConvertEntityToBlittable(doc, docInfo); var command = new PutDocumentCommand("categories/999", null, blittableDoc); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); #endregion } }
public void Can_select_and_query_field_with_dot() { using (var store = GetDocumentStore()) { var requestExecuter = store.GetRequestExecutor(); using (requestExecuter.ContextPool.AllocateOperationContext(out JsonOperationContext ctx)) { var djv = new DynamicJsonValue { ["Na.me"] = "Fitzchak", [Constants.Documents.Metadata.Key] = new DynamicJsonValue { [Constants.Documents.Metadata.Collection] = "Users", } }; var json = ctx.ReadObject(djv, "users/1"); var putCommand = new PutDocumentCommand("users/1", null, json); requestExecuter.Execute(putCommand, ctx); } using (var session = store.OpenSession()) { var results = session.Advanced.RawQuery <dynamic>("from Users").ToList(); Assert.Equal(1, results.Count); var jObject = results[0] as Newtonsoft.Json.Linq.JObject; Assert.NotNull(jObject.Property("Na.me")); } using (var session = store.OpenSession()) { var results = session.Advanced.RawQuery <dynamic>("from Users select 'Na.me'").ToList(); Assert.Equal(1, results.Count); var jObject = results[0] as Newtonsoft.Json.Linq.JObject; Assert.NotNull(jObject.Property("Na.me")); } using (var session = store.OpenSession()) { var results = session.Advanced.RawQuery <dynamic>("from Users where 'Na.me' = 'Fitzchak'").Statistics(out var stats).WaitForNonStaleResults().ToList(); Assert.Equal(1, results.Count); Assert.Equal("Auto/Users/By'Na.me'", stats.IndexName); var jObject = results[0] as Newtonsoft.Json.Linq.JObject; Assert.NotNull(jObject.Property("Na.me")); } using (var session = store.OpenSession()) { var results = session.Advanced.RawQuery <dynamic>("from Users where search('Na.me', 'Fitzchak')").Statistics(out var stats).WaitForNonStaleResults().ToList(); Assert.Equal(1, results.Count); Assert.Equal("Auto/Users/BySearch('Na.me')", stats.IndexName); } using (var session = store.OpenSession()) { var results = session.Advanced.RawQuery <dynamic>("from Users group by 'Na.me' select count()").Statistics(out var stats).WaitForNonStaleResults().ToList(); Assert.Equal(1, results.Count); Assert.Equal("Auto/Users/ByCountReducedBy'Na.me'", stats.IndexName); } } }
private void ParseCommand(string line) { if (string.IsNullOrEmpty(line)) { return; } //NOTE: Parse in ascending length order! if (line.Substring(0, 1).Equals("#")) { return; } if (line.Length < 4) { Warn("invalid command: {0}", line); return; } if (line.Substring(0, 4).ToLower().Equals("quit") || line.Substring(0, 4).ToLower().Equals("exit")) { return; } var idx = line.IndexOf(' '); string cmd; if (idx < 0) { idx = 0; cmd = line; } else { cmd = line.Substring(0, idx).ToLower(); } var args = idx == 0 ? string.Empty : line.Substring(idx + 1).Trim(); if (CR.abort.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new AbortCommand(); c.Execute(context); StopTimer(CR.abort + " " + args); return; } if (CR.addalias.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new AddAliasCommand(); c.Execute(context, args); StopTimer(CR.addalias + " " + args); return; } if (CR.addindex.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new AddIndexCommand(); c.Execute(context, args); StopTimer(CR.addindex + " " + args); return; } if (CR.close.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new CloseCommand(); c.Execute(context, args); StopTimer(CR.close + " " + args); return; } if (CR.commit.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new CommitCommand(); c.Execute(context, args); StopTimer(CR.commit + " " + args); return; } if (CR.compactcontainer.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new CompactContainerCommand(); c.Execute(context, args); StopTimer(CR.compactcontainer + " " + args); return; } if (CR.contextquery.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new ContextQueryCommand(); c.Execute(context, args); StopTimer(CR.contextquery + " " + args); return; } if (CR.cquery.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new CQueryCommand(); c.Execute(context, args); StopTimer(CR.cquery + " " + args); return; } if (CR.createcontainer.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new CreateContainerCommand(); c.Execute(context, args); StopTimer(CR.createcontainer + " " + args); return; } if (CR.delindex.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new DeleteIndexCommand(); c.Execute(context, args); StopTimer(CR.delindex + " " + args); return; } if (CR.echo.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { Msg(args); return; } if (CR.getdocuments.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new GetDocumentsCommand(); c.Execute(context, args); StopTimer(CR.getdocuments + " " + args); return; } if (CR.getmetadata.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new GetMetadataCommand(); c.Execute(context, args); StopTimer(CR.getmetadata + " " + args); return; } if (CR.help.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { var c = new HelpCommand(); c.Execute(args); return; } if (CR.info.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new InfoCommand(); c.Execute(context, args); StopTimer(CR.info + " " + args); return; } if (CR.listindexes.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new ListIndexesCommand(); c.Execute(context, args); StopTimer(CR.listindexes + " " + args); return; } if (CR.lookupedgeindex.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new LookupEdgeIndexCommand(); c.Execute(context, args); StopTimer(CR.lookupedgeindex + " " + args); return; } if (CR.lookupindex.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new LookupIndexCommand(); c.Execute(context, args); StopTimer(CR.lookupindex + " " + args); return; } if (CR.lookupstats.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new LookupStatisticsCommand(); c.Execute(context, args); StopTimer(CR.lookupstats + " " + args); return; } if (CR.opencontainer.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new OpenContainerCommand(); c.Execute(context, args); StopTimer(CR.opencontainer + " " + args); return; } if (CR.preload.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new PreloadCommand(); c.Execute(context, args); StopTimer(CR.preload + " " + args); return; } if (CR.prepare.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new PrepareCommand(); c.Execute(context, args); StopTimer(CR.prepare + " " + args); return; } if (CR.print.IndexOf(cmd, 0, StringComparison.Ordinal) == 0 || cmd.ToLower().Equals("printnames")) { StartTimer(); var c = new PrintCommand(); c.Execute(context, cmd.Equals("printnames") ? "printnames " + args : args); StopTimer(cmd.Equals("printnames") ? "printNames" : CR.print); return; } if (CR.putdocuments.Equals(cmd)) { StartTimer(); var c = new PutDocumentsCommand(); c.Execute(context, args); StopTimer(CR.putdocuments + " " + args); return; } if (CR.putdocument.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new PutDocumentCommand(); c.Execute(context, args); StopTimer(CR.putdocument + " " + args); return; } if (CR.query.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new QueryCommand(); c.Execute(context, args); StopTimer(CR.query + " " + args); return; } if (CR.queryplan.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new QueryPlanCommand(); c.Execute(context, args); StopTimer(CR.queryplan + " " + args); return; } if (CR.reindexcontainer.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new ReindexContainerCommand(); c.Execute(context, args); StopTimer(CR.reindexcontainer + " " + args); return; } if (CR.removealias.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new RemoveAliasCommand(); c.Execute(context, args); StopTimer(CR.removealias + " " + args); return; } if (CR.removecontainer.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new RemoveContainerCommand(); c.Execute(context, args); StopTimer(CR.removecontainer + " " + args); return; } if (CR.removedocument.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new RemoveDocumentCommand(); c.Execute(context, args); StopTimer(CR.removedocument + " " + args); return; } if (CR.run.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { var c = new RunCommand(); c.Execute(context, args); var l2 = new List <string>(originalArgs) { "-s", c.Script }; StartTimer(); Main(l2.ToArray()); StopTimer(CR.run + " " + args); return; } if (CR.setautoindexing.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetAutoIndexingCommand(); c.Execute(context, args); StopTimer(CR.setautoindexing + " " + args); return; } if (CR.setbaseuri.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetBaseUriCommand(); c.Execute(context, args); StopTimer(CR.setbaseuri + " " + args); return; } if (CR.setignore.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { var c = new SetIgnoreCommand(); c.Execute(context, args); ignoreErrors = c.Ignore; return; } if (CR.setlazy.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetLazyCommand(); c.Execute(context, args); StopTimer(CR.setlazy + " " + args); return; } if (CR.setmetadata.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetMetadataCommand(); c.Execute(context, args); StopTimer(CR.setmetadata + " " + args); return; } if (CR.setnamespace.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetNamespaceCommand(); c.Execute(context, args); StopTimer(CR.setnamespace + " " + args); return; } if (CR.setprojection.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetProjectionCommand(); c.Execute(context, args); StopTimer(CR.setprojection + " " + args); return; } if (CR.setquerytimeout.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetQueryTimeoutCommand(); c.Execute(context, args); StopTimer(CR.setquerytimeout + " " + args); return; } if (CR.setvariable.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetVariableCommand(); c.Execute(context, args); StopTimer(CR.setvariable + " " + args); return; } if (CR.setverbose.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new SetVerboseCommand(); c.Execute(context, args); StopTimer(CR.setverbose + " " + args); return; } if (CR.sync.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); context.Sync(); StopTimer(CR.sync + " " + args); return; } if (CR.time.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { time = true; ParseCommand(args); return; } if (CR.transaction.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new TransactionCommand(); c.Execute(context, args); StopTimer(CR.transaction + " " + args); return; } if (CR.upgradecontainer.IndexOf(cmd, 0, StringComparison.Ordinal) == 0) { StartTimer(); var c = new UpgradeContainerCommand(); c.Execute(context, args); StopTimer(CR.upgradecontainer + " " + args); return; } Warn("Command not recognized: {0}", cmd); }
public static Task <DocumentHeaderResponse> ExecuteAsync(this IClient client, PutDocumentCommand cmd) { return(client.Documents.PutAsync(cmd)); }
public WorkingWithDocumentIdentifiers() { var store = new DocumentStore(); var session = store.OpenSession(); #region session_id_not_provided var order = new Order { Id = null // value not provided }; session.Store(order); #endregion #region session_get_document_id var orderId = session.Advanced.GetDocumentId(order); // "orders/1-A" #endregion #region session_empty_string_id var orderEmptyId = new Order { Id = string.Empty // database will create a GUID value for it }; session.Store(orderEmptyId); session.SaveChanges(); var guidId = session.Advanced.GetDocumentId(orderEmptyId); // "bc151542-8fa7-45ac-bc04-509b343a8720" #endregion #region session_semantic_id_1 var product = new Product { Id = "products/ravendb", Name = "RavenDB" }; session.Store(product); #endregion #region session_semantic_id_2 session.Store(new Product { Name = "RavenDB" }, "products/ravendb"); #endregion #region session_auto_id session.Store(new Company { Id = "companies/" }); session.SaveChanges(); #endregion #region session_identity_id session.Store(new Company { Id = "companies|" }); session.SaveChanges(); #endregion #region commands_identity var doc = new DynamicJsonValue { ["Name"] = "My RavenDB" }; var blittableDoc = session.Advanced.JsonConverter.ToBlittable(doc, null); var command = new PutDocumentCommand("products/", null, blittableDoc); session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context); var identityId = command.Result.Id; // "products/0000000000000000001-A if using only '/' in the seesion" var commandWithPipe = new PutDocumentCommand("products|", null, blittableDoc); session.Advanced.RequestExecutor.Execute(commandWithPipe, session.Advanced.Context); var identityPipeId = command.Result.Id; // "products/1" #endregion }