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)); }
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)); }