Beispiel #1
0
        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);
                    }
                }
            }
        }
Beispiel #2
0
        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; 
            }
        }
Beispiel #6
0
 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);
             }
         }
     }
 }