示例#1
0
 public CommitModel(Guid commitId, string context, string stream,EventStorageInfo[] events)
 {
     CommitId = commitId;
     Context = context;
     Stream = stream;
     Events = events;
 }
示例#2
0
        public List<CommitModel> InsertEvents(Dictionary<Guid, CreateEventsMetaData> createEventDetails)
        {
            var listOfCommits = new List<CommitModel>();
            foreach (var key in createEventDetails.Keys)
            {
                var createEventMetaData = createEventDetails[key];
                var listOfEvents = new List<EventStorageInfo>();
                for (var i = 1; i <= createEventMetaData.NumberOfEvents; i++)
                {
                    var @event = new EventStorageInfo(Guid.NewGuid(), i, createEventMetaData.SameTimeStamps[i - 1], "sometype", "somebody", null);
                    listOfEvents.Add(@event);
                }
                var commit = new CommitModel(key, createEventMetaData.Context, createEventMetaData.Stream,
                    listOfEvents.ToArray());
                listOfCommits.Add(commit);

            }

            foreach (var commit in listOfCommits)
            {
                var newcommit = new CommitBuilder()
                    .NewCommit(commit.CommitId, commit.Context, commit.Stream);
                var firstEvent = commit.Events[0];
                var anotherCommitingEvent = newcommit.Event(new EventForStorage(firstEvent.EventId, firstEvent.Sequence, firstEvent.Timestamp, firstEvent.TypeKey, null, firstEvent.Body));
                if (commit.Events.Length > 1)
                {
                    for (var e = 1; e < commit.Events.Length; e++)
                    {
                        anotherCommitingEvent =
                            anotherCommitingEvent.Event(new EventForStorage(commit.Events[e].EventId,
                                commit.Events[e].Sequence, commit.Events[e].Timestamp, commit.Events[e].TypeKey, null, commit.Events[e].Body));
                    }
                }
                var builtCommit = anotherCommitingEvent.Build();
                _storage.Store(builtCommit);

            }
            return listOfCommits;
        }