public OnReadEventArgs(IXEvent rowData, ExtendedEventsPosition position, long eventNumber) { EventData = rowData; EventNumber = eventNumber; Position = position; }
public async Task SaveLogPosition(FileInfo logFileInfo, ExtendedEventsPosition position, bool finishReadFile = false) { var commandAddLogInfo = _connection.CreateCommand(); commandAddLogInfo.CommandText = @"INSERT INTO LogFiles ( CreateDate, FileName, FileCreateDate, FileModificationDate, LastEventNumber, LastEventUUID, LastEventPeriod, FinishReadFile ) VALUES ( {CreateDate:DateTime}, {FileName:String}, {FileCreateDate:DateTime}, {FileModificationDate:DateTime}, {LastEventNumber:Int64}, {LastEventUUID:String}, {LastEventPeriod:DateTime}, {FinishReadFile:Int64} )"; commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "CreateDate", DbType = DbType.DateTime, Value = DateTime.Now }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "FileName", DbType = DbType.AnsiString, Value = logFileInfo.Name }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "FileCreateDate", DbType = DbType.DateTime, Value = logFileInfo.CreationTime.GetAllowDateTime() }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "FileModificationDate", DbType = DbType.DateTime, Value = logFileInfo.LastWriteTime.GetAllowDateTime() }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "LastEventNumber", DbType = DbType.Int64, Value = position.EventNumber }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "LastEventUUID", DbType = DbType.AnsiString, Value = position.EventUUID }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "LastEventPeriod", DbType = DbType.DateTime, Value = position.EventPeriod?.DateTime.GetAllowDateTime() ?? DateTime.MinValue.GetAllowDateTime() }); commandAddLogInfo.Parameters.Add(new ClickHouseDbParameter { ParameterName = "FinishReadFile", DbType = DbType.Int64, Value = finishReadFile ? 1 : 0 }); await commandAddLogInfo.ExecuteNonQueryAsync(); }