CQRS_ES.Framework.SqlEventStore.InsertEventsAndReturnLastVersion C# (CSharp) 메소드

InsertEventsAndReturnLastVersion() 개인적인 메소드

private InsertEventsAndReturnLastVersion ( object streamId, SqlCeConnection connection, long nextVersion, string>.IEnumerable serializedEvents ) : long
streamId object
connection SqlCeConnection
nextVersion long
serializedEvents string>.IEnumerable
리턴 long
        private long InsertEventsAndReturnLastVersion(object streamId, SqlCeConnection connection, long nextVersion,
            IEnumerable<Tuple<string, string>> serializedEvents)
        {
            foreach (var @event in serializedEvents)
            {
                const string insertCommandText = "INSERT INTO EventWrappers (EventId, StreamId, Sequence, TimeStamp, EventType, Body) VALUES (@EventId, @StreamId, @Sequence, @TimeStamp, @EventType, @Body);";
                using (var command = new SqlCeCommand(insertCommandText, connection))
                {
                    command.Parameters.AddWithValue("EventId", Guid.NewGuid());
                    command.Parameters.AddWithValue("StreamId", streamId.ToString());
                    command.Parameters.AddWithValue("Sequence", ++nextVersion);
                    command.Parameters.AddWithValue("TimeStamp", DateTime.UtcNow);
                    command.Parameters.AddWithValue("EventType", @event.Item1);
                    command.Parameters.AddWithValue("Body", @event.Item2);

                    command.ExecuteNonQuery();
                }
            }
            return nextVersion;
        }