Exemple #1
0
        // 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);
        }
Exemple #2
0
        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);
Exemple #3
0
        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"))));
 }