Share via


Configurations.MoveBefore Method

Moves a Configuration object in front of an existing Configuration object.

Namespace:  Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

Syntax

'Declaration
Public Sub MoveBefore ( _
    index As Object, _
    config As Configuration _
)
'Usage
Dim instance As Configurations
Dim index As Object
Dim config As Configuration

instance.MoveBefore(index, config)
public void MoveBefore(
    Object index,
    Configuration config
)
public:
void MoveBefore(
    Object^ index, 
    Configuration^ config
)
member MoveBefore : 
        index:Object * 
        config:Configuration -> unit 
public function MoveBefore(
    index : Object, 
    config : Configuration
)

Parameters

Remarks

Moves the Configuration object in the collection. The new position is before the object specified by the index parameter.

Examples

The following code example creates three configurations, and adds them to one package. It then displays their name, and the names are displayed in the order in which they were added. Using the MoveBefore method, the configuration in the last position, index position 2, is moved to the front of the collection, before the configuration located in index position 0. The names are again displayed, and Conf3 is now moved into position before Conf1 in the collection.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;

namespace Configurations_API
{
    class Program
    {
        static void Main(string[] args)
        {
            Package p = new Package();
            
            Configuration conf1 = p.Configurations.Add();
            conf1.ConfigurationString = "Conf1 Configuration String";
            conf1.ConfigurationType = DTSConfigurationType.EnvVariable;
            conf1.Description = "Some description for Conf1 configuration";
            conf1.Name = "Conf1";
            conf1.PackagePath = "A Variable Name in configuration Conf1";

            Configuration conf2 = p.Configurations.Add();
            conf2.ConfigurationString = "Conf2 Configuration String";
            conf2.ConfigurationType = DTSConfigurationType.ConfigFile;
            conf2.Description = "Some description for Conf2 configuration";
            conf2.Name = "Conf2";
            conf2.PackagePath = "A Variable Name in configuration Conf2";

            Configuration conf3 = p.Configurations.Add();
            conf3.ConfigurationString = "Conf3 Configuration String2";
            conf3.ConfigurationType = DTSConfigurationType.RegEntry;
            conf3.Description = "Conf3 description for Conf3 configuration2";
            conf3.Name = "Conf3";
            conf3.PackagePath = "A Variable Name in configuration Conf3";

            DTSExecResult pkgExecResults = p.Execute();

            if (pkgExecResults == DTSExecResult.Success)
            {
                Console.WriteLine("Success!");
                // Iterate over the configurations.
                Configurations configs = p.Configurations;
                foreach (Configuration config in configs)
                {
                    // This is an ordered collection, they display in the order added.
                    Console.WriteLine("Configuration Name {0}", config.Name);
                }
                Console.WriteLine("---------------------------------------------------");

                // Using the Configurations methods, move the configurations around.
                Configuration movingConfig = p.Configurations[2];
                p.Configurations.MoveBefore(0, movingConfig);
                
                foreach (Configuration config in configs)
                {
                    Console.WriteLine("Configuration Name {0}", config.Name);
                }
                Console.WriteLine("---------------------------------------------------");
            }
            else
            {
                Console.WriteLine("Results were {0}", pkgExecResults);
            }
            Console.WriteLine("Number of configuration in package {0}", p.Configurations.Count);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
 
Namespace Configurations_API
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim p As Package =  New Package() 
 
            Dim conf1 As Configuration =  p.Configurations.Add() 
            conf1.ConfigurationString = "Conf1 Configuration String"
            conf1.ConfigurationType = DTSConfigurationType.EnvVariable
            conf1.Description = "Some description for Conf1 configuration"
            conf1.Name = "Conf1"
            conf1.PackagePath = "A Variable Name in configuration Conf1"
 
            Dim conf2 As Configuration =  p.Configurations.Add() 
            conf2.ConfigurationString = "Conf2 Configuration String"
            conf2.ConfigurationType = DTSConfigurationType.ConfigFile
            conf2.Description = "Some description for Conf2 configuration"
            conf2.Name = "Conf2"
            conf2.PackagePath = "A Variable Name in configuration Conf2"
 
            Dim conf3 As Configuration =  p.Configurations.Add() 
            conf3.ConfigurationString = "Conf3 Configuration String2"
            conf3.ConfigurationType = DTSConfigurationType.RegEnTry
            conf3.Description = "Conf3 description for Conf3 configuration2"
            conf3.Name = "Conf3"
            conf3.PackagePath = "A Variable Name in configuration Conf3"
 
            Dim pkgExecResults As DTSExecResult =  p.Execute() 
 
            If pkgExecResults = DTSExecResult.Success Then
                Console.WriteLine("Success!")
                ' Iterate over the configurations.
                Dim configs As Configurations =  p.Configurations 
                Dim config As Configuration
                For Each config In configs
                    ' This is an ordered collection, they display in the order added.
                    Console.WriteLine("Configuration Name {0}", config.Name)
                Next
                Console.WriteLine("---------------------------------------------------")
 
                ' Using the Configurations methods, move the configurations around.
                Dim movingConfig As Configuration =  p.Configurations(2) 
                p.Configurations.MoveBefore(0, movingConfig)
 
                Dim config As Configuration
                For Each config In configs
                    Console.WriteLine("Configuration Name {0}", config.Name)
                Next
                Console.WriteLine("---------------------------------------------------")
            Else 
                Console.WriteLine("Results were {0}", pkgExecResults)
            End If
            Console.WriteLine("Number of configuration in package {0}", p.Configurations.Count)
        End Sub
    End Class
End Namespace

Sample Output:

Success!

Configuration Name Conf1

Configuration Name Conf2

Configuration Name Conf3

---------------------------------------------------

Configuration Name Conf3

Configuration Name Conf1

Configuration Name Conf2

---------------------------------------------------

Number of configuration in package 3