private void AggregateCommandExecuted() { var messages = Messages.OfType <CommandExecutedMessage>(); foreach (var message in messages) { var command = GetOrCreateCommandFor(message); command.Command = message.CommandText; command.StartDateTime = message.StartTime; command.Offset = message.Offset; command.HasTransaction = message.HasTransaction; if (message.Parameters != null) { foreach (var parameter in message.Parameters) { var parameterMetadata = new CommandParameterMetadata { Name = parameter.Name, Value = parameter.Value, Type = parameter.Type, Size = parameter.Size }; command.Parameters.Add(parameterMetadata); } } } }
private void AggregateCommandExecuted() { var dupTracker = new Dictionary <string, int>(); var messages = Messages.OfType <CommandExecutedMessage>(); foreach (var message in messages) { var command = GetOrCreateCommandFor(message); command.Command = message.CommandText; command.StartDateTime = message.StartTime; command.Offset = message.Offset; command.HasTransaction = message.HasTransaction; if (message.Parameters != null) { foreach (var parameter in message.Parameters) { var parameterMetadata = new CommandParameterMetadata { Name = parameter.Name, Value = parameter.Value, Type = parameter.Type, Size = parameter.Size }; command.Parameters.Add(parameterMetadata); } } //Duplicate tracking var dupCount = 0; command.IsDuplicate = dupTracker.TryGetValue(message.CommandText, out dupCount); dupTracker[message.CommandText] = dupCount + 1; } }
public void WrapStringsInQuotes() { var sut = new CommandSanitizer(); var parameter = new CommandParameterMetadata { Name = "@StringParameter", Type = typeof(string).Name, Value = "This is the parameter value." }; var command = string.Format("SELECT * FROM Table WHERE StringColumn = {0}", parameter.Name); var result = sut.Process(command, new[] { parameter }); var expected = string.Format(CommandParameterParser.QuotedFormat, parameter.Value, parameter.Name); Assert.Contains(expected, result); }
public void ReplaceParameterPlaceholders() { var sut = new CommandSanitizer(); var parameter = new CommandParameterMetadata { Name = "@SomeParameter", Type = typeof(int).Name, Value = 1234 }; var command = string.Format("SELECT * FROM Table WHERE Id = {0}", parameter.Name); var result = sut.Process(command, new[] { parameter }); var expected = string.Format(CommandParameterParser.UnquotedFormat, parameter.Value, parameter.Name); Assert.Contains(expected, result); }
private void AggregateCommandExecuted() { var dupTracker = new Dictionary<string, int>(); var messages = Messages.OfType<CommandExecutedMessage>(); foreach (var message in messages) { var command = GetOrCreateCommandFor(message); command.Command = message.CommandText; command.StartDateTime = message.StartTime; command.Offset = message.Offset; command.HasTransaction = message.HasTransaction; command.IsAsync = message.IsAsync; if (message.Parameters != null) { foreach (var parameter in message.Parameters) { var parameterMetadata = new CommandParameterMetadata { Name = parameter.Name, Value = parameter.Value, Type = parameter.Type, Size = parameter.Size }; command.Parameters.Add(parameterMetadata); } } // Duplicate tracking var dupCount = 0; command.IsDuplicate = dupTracker.TryGetValue(message.CommandText, out dupCount); dupTracker[message.CommandText] = dupCount + 1; } }
private void AggregateCommandExecuted() { var messages = Messages.OfType<CommandExecutedMessage>(); foreach(var message in messages) { var command = GetOrCreateCommandFor(message); command.Command = message.CommandText; command.StartDateTime = message.StartTime; command.Offset = message.Offset; command.HasTransaction = message.HasTransaction; if(message.Parameters != null) { foreach (var parameter in message.Parameters) { var parameterMetadata = new CommandParameterMetadata { Name = parameter.Name, Value = parameter.Value, Type = parameter.Type, Size = parameter.Size }; command.Parameters.Add(parameterMetadata); } } } }