// POST api/event /// <summary> /// Creates a new event /// </summary> /// <param name="Event"> /// Event data in JSON or XML format /// </param> /// <returns></returns> public HttpResponseMessage PostEvent(EventData Event) { int ID = Event.Create(); var response = Request.CreateResponse <EventData>(HttpStatusCode.Created, Event); string url = VirtualPathUtility.AppendTrailingSlash(Request.RequestUri.AbsoluteUri) + ID; response.Headers.Location = new Uri(url); return(response); }
public async Task ProtoEtagCheckAsync() { var store = "localcosmos"; var key = Guid.NewGuid().ToString().Substring(0, 5); await client.SaveStateAsync(store, key, EventData.Create("test", new TestEvent("id", "hey"), 1)); var(value, etag) = await client.GetStateAndETagAsync <EventData>(store, key); await client.TrySaveStateAsync(store, key, value with { Version = 2 }, etag);
public void Write(Cirqus.Events.EventData domainEvent) { var aggregateRootId = domainEvent.GetAggregateRootId(); var sequenceNumber = domainEvent.GetSequenceNumber(); var aggregateDirectory = Path.Combine(_dataDirectory, aggregateRootId); Directory.CreateDirectory(aggregateDirectory); var filename = Path.Combine(aggregateDirectory, GetFilename(sequenceNumber)); using (var fileStream = new FileStream(filename, FileMode.CreateNew, FileAccess.Write, FileShare.None, 1024, FileOptions.None)) using (var bsonWriter = new BsonWriter(fileStream)) { _serializer.Serialize(bsonWriter, EventData.Create(domainEvent)); } }
public async Task <ActionResult> Post() { this.logger.LogInformation("C# got event (pub/sub"); return(Ok(await store.AppendToStreamAsync("sample", EventData.Create("test", "hello")))); }