Changes
== Concept ==
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.
== Example using Script file ==
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used.
<source lang="xml">
UBIK.Console.exe -cmdfile "\\PathToScript\script.txt" -connectionstring "Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ..."
</source>
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file.
<source = lang"csharp">
#r "C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe"
System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);
string backUpDir = @"C:\SQL\bakup";
bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool("1"); //%
System.Console.WriteLine(isTrue.ToString()); //%
DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@"{0}\{1}_{2}_{3}.bak", backUpDir, scsb.InitialCatalog, DateTime.Now.ToString("yyyyMMdd"), DateTime.Now.ToString("HHmm")));
</source>