This commit is contained in:
2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
using System;
using System.IO;
using JetBrains.Annotations;
namespace Sda.DictionaryItemEnumGenerator
{
public static class Generator
{
public static void Generate(
[NotNull] string inputFileName,
[NotNull] string InputDictionaryXMLFile,
[NotNull] string ScriptOutputDir,
[NotNull] string csharpOutput)
{
if (string.IsNullOrEmpty(ScriptOutputDir))
throw new ArgumentNullException("ScriptOutputDir");
if (string.IsNullOrEmpty(inputFileName))
throw new ArgumentNullException("inputFileName");
if (string.IsNullOrEmpty(csharpOutput))
throw new ArgumentNullException("csharpOutput");
if (string.IsNullOrEmpty(InputDictionaryXMLFile))
throw new ArgumentNullException("InputDictionaryXMLFile");
try
{
// 1. UML-ből generált DictionaryItems.txt fájl feldolgozása
InputDataCollection idc = new InputDataCollection();
idc.Load(inputFileName);
// 2. GeneratedDictionaryItems.kres XML fájl betöltése + stringresources betöltése és feldolgozása
GeneratedDictionaryInputDataCollection dictInputDatas = new GeneratedDictionaryInputDataCollection();
dictInputDatas.Load(InputDictionaryXMLFile);
// 3. az XML és TXT fájlok összefésülése
DictionaryItemGroupUtils dictionaryitemGroupUtils = new DictionaryItemGroupUtils();
dictionaryitemGroupUtils.Load(idc, dictInputDatas.DictionaryItemGroups);
// 4. Kréta DB Scriptek generálása
dictionaryitemGroupUtils.GenerateDBScripts(ScriptOutputDir);
// 5. GeneratedEnums.cs fájl generálása
dictionaryitemGroupUtils.SaveCSharp(csharpOutput);
}
catch (Exception ex)
{
throw new ArgumentException(ex.Message);
}
}
internal static void GenerateConsole(
[NotNull] string inputFileName,
[NotNull] string InputDictionaryXMLFile,
[NotNull] string ScriptOutputDir,
[NotNull] string csharpOutput)
{
if (string.IsNullOrEmpty(inputFileName))
inputFileName = @"g:\Kreta\Main\DBScripts\DictionaryItems.txt";
if (string.IsNullOrEmpty(InputDictionaryXMLFile))
InputDictionaryXMLFile = @"g:\Kreta\Main\GeneratedDictionaryItems.kres";
if (string.IsNullOrEmpty(ScriptOutputDir))
ScriptOutputDir = @"g:\Kreta\Main\DBScripts\Mssql\";
if (string.IsNullOrEmpty(csharpOutput))
csharpOutput = @"g:\Kreta\Main\Kreta.Enums\";
FileInfo fi = new FileInfo(inputFileName);
Console.WriteLine("InputFileName: " + fi.FullName);
Console.WriteLine("Exists: " + fi.Exists);
Console.WriteLine();
//FileInfo fi2 = new FileInfo( outputFilename );
//Console.WriteLine( "OutputDirectory: " + fi2.FullName );
//Console.WriteLine( "Exists: " + fi2.Exists );
if (!fi.Exists)
{
Console.WriteLine("Input File does Not Exists");
Console.WriteLine("Exit Code is 1");
Environment.ExitCode = 1;
Environment.Exit(Environment.ExitCode);
}
try
{
// 1. UML-ből generált DictionaryItems.txt fájl feldolgozása
InputDataCollection idc = new InputDataCollection();
idc.Load(inputFileName);
// 2. GeneratedDictionaryItems.kres XML fájl betöltése + stringresources betöltése és feldolgozása
GeneratedDictionaryInputDataCollection dictInputDatas = new GeneratedDictionaryInputDataCollection();
dictInputDatas.Load(InputDictionaryXMLFile);
// 3. az XML és TXT fájlok összefésülése
DictionaryItemGroupUtils dictionaryitemGroupUtils = new DictionaryItemGroupUtils();
dictionaryitemGroupUtils.Load(idc, dictInputDatas.DictionaryItemGroups);
dictionaryitemGroupUtils.GenerateDBScripts(ScriptOutputDir);
dictionaryitemGroupUtils.SaveCSharp(csharpOutput);
}
catch (Exception ex)
{
throw new ArgumentException(ex.Message);
}
}
}
}