namespace LaaProduction.Personalization.Updater { using System; using System.Collections.Generic; using System.Data.SqlClient; using System.IO; using System.Linq; public class Program { public static void Main() { Console.WriteLine("Updating LaaProduction.Personalization ..."); var employeesRoles = new List(); var softwareFunctions = new List(); using (var sqlConnection = new SqlConnection("Server=SLASQL01.emea.sensus.net; Database=Auftrag; Integrated Security=True;")) { sqlConnection.FireInfoMessageEventOnUserErrors = true; sqlConnection.InfoMessage += (sender, args) => Console.WriteLine(args.Message); sqlConnection.Open(); using (var sqlCommand = sqlConnection.CreateCommand()) { sqlCommand.CommandText = "SELECT DISTINCT [Recht] FROM [MitarbeiterRechte] ORDER BY [Recht]"; using (var sqlReader = sqlCommand.ExecuteReader()) { while (sqlReader.Read()) { employeesRoles.Add(sqlReader.GetString(0)); } } } using (var sqlCommand = sqlConnection.CreateCommand()) { sqlCommand.CommandText = "SELECT DISTINCT [Function] FROM [SoftwareFunctions] ORDER BY [Function]"; using (var sqlReader = sqlCommand.ExecuteReader()) { while (sqlReader.Read()) { softwareFunctions.Add(sqlReader.GetString(0)); } } } } var employeesRolesEnumContent = $@" namespace LaaProduction.Personalization {{ public enum EmployeesRoles {{ {string.Join($"{Environment.NewLine}\t", employeesRoles.Select(x => $"{x},"))} }} }}"; Console.WriteLine($"Update file: {employeesRolesEnumContent}"); var softwareFunctionsEnumContent = $@" namespace LaaProduction.Personalization {{ public enum SoftwareFunctions {{ {string.Join($"{Environment.NewLine}\t", softwareFunctions.Select(x => $"{x},"))} }} }}"; Console.WriteLine($"Update file: {softwareFunctionsEnumContent}"); Console.WriteLine($"Update directory: {Environment.CurrentDirectory}"); File.WriteAllText("..\\..\\SoftwareFunctions.cs", softwareFunctionsEnumContent); File.WriteAllText("..\\..\\EmployeesRoles.cs", employeesRolesEnumContent); Console.ReadKey(); } } }