public void SqlExecuteScalarTest()
        {
            // Initialise Instance
            var target = new SqlExecute { Action = SqlExecuteAction.ExecuteScalar };
            var parameters = new Dictionary<string, object>
            {
                { "Sql", "SELECT CONVERT(CHAR(10), GETDATE(), 103), @P1, @P2" },
                { "ConnectionString", "Data Source=.;Initial Catalog=;Integrated Security=True" },
                { "UseTransaction", true },
                { "Parameters", new [] {"@P1=1", "@P2=2"} }
            };

            // Create a WorkflowInvoker and add the IBuildDetail Extension
            WorkflowInvoker invoker = new WorkflowInvoker(target);
            var actual = invoker.Invoke(parameters);

            // Test the result
            Assert.AreEqual(DateTime.Now.ToString("dd/MM/yyyy", System.Globalization.CultureInfo.GetCultureInfo("en-gb")), actual["ScalarResult"].ToString());
        }
        public void SqlExecuteFilesTest()
        {
            // Create a temp file and write some dummy attribute to it
            FileInfo f = new FileInfo(System.IO.Path.GetTempFileName());
            File.WriteAllLines(f.FullName, new[] { "SELECT CONVERT(CHAR(10), GETDATE(), 103)" });

            // Initialise Instance
            var target = new SqlExecute { Action = SqlExecuteAction.Execute };

            // Declare additional parameters
            var parameters = new Dictionary<string, object>
            {
                { "Files", new[] { f.FullName } },
                { "ConnectionString", "Data Source=.;Initial Catalog=;Integrated Security=True" },
                { "UseTransaction", true },
                { "CommandTimeout", 30 },
            };

            // Create a WorkflowInvoker and add the IBuildDetail Extension
            WorkflowInvoker invoker = new WorkflowInvoker(target);
            invoker.Invoke(parameters);
        }