コード例 #1
0
        public Task Upload(string environment)
        {
            Console.Out.WriteLine("Uploading legacy data to " + environment);

            var env = new EnvironmentClient(environment);

            Console.Out.WriteLine("Using connection string " + env.Options.ConnectionString);

            var eventStore  = new EventStream(env.Options);
            var converter   = new DatabaseDumpToEventsInitializer();
            var appendTasks = converter.LegacyDataAsEvents()
                              .Select(namedEventStream =>
                                      eventStore.AppendEvents(namedEventStream.Name, namedEventStream.Events))
                              .ToList();

            return(Task.WhenAll(appendTasks));
        }
コード例 #2
0
ファイル: SatkuxiiUploader.cs プロジェクト: kerkesix/satku
        public Task Upload(string environment)
        {
            Console.Out.WriteLine("Uploading satkuxii data to " + environment);

            var env = new EnvironmentClient(environment);

            Console.Out.WriteLine("Using connection string " + env.Options.ConnectionString);

            var jsonData = GetEmbeddedResource("satkuxii.json");
            var data     = JsonConvert.DeserializeObject <SatkuData>(jsonData);

            Console.Out.WriteLine("Deserialized, checkpoint count " + data.Checkpoints.Count);

            var stream = new EventStream(env.Options);

            stream.AppendEvents(
                "HappeningsInventory-" + HappeningMessageHandler.RootAggregateId,
                new List <IEvent>
            {
                new HappeningInventoryItemCreated(
                    data.Happening,
                    data.IsDefault,
                    data.Checkpoints.First().Timestamp.AddSeconds(-10))
            }).Wait();

            var happeningCreated = new HappeningCreated(data.Happening)
            {
                Timestamp =
                    data.Checkpoints.First()
                    .Timestamp.AddSeconds(-9)
            };

            stream.AppendEvents(
                "Happening-" + data.Happening,
                new List <IEvent> {
                happeningCreated
            }).Wait();


            var checkpointListEvents = new List <IEvent>();
            int order = 1;

            foreach (var c in data.Checkpoints)
            {
                // To keep data simpler to edit by hand, set some properties automatically
                c.HappeningId = data.Happening;
                c.Order       = order;
                order++;

                var validatedEvent = new CheckpointValidated(
                    data.Happening,
                    c.Id,
                    c.Order,
                    c.CheckpointType,
                    c.Name,
                    c.Latitude,
                    c.Longitude,
                    c.DistanceFromPrevious,
                    c.DistanceFromStart)
                {
                    // Use timestamp little after the happening
                    Timestamp = c.Timestamp.AddSeconds(-1)
                };

                checkpointListEvents.Add(validatedEvent);
                stream.AppendEvents("Checkpoint-" + c.Id, new List <IEvent> {
                    c
                }).Wait();
            }

            return(stream.AppendEvents("CheckpointList-" + data.Happening, checkpointListEvents));
        }