Index: DamEngine/trunk/src/Deltares.DamEngine.ConsoleRun/Program.cs =================================================================== diff -u -r1314 -r1323 --- DamEngine/trunk/src/Deltares.DamEngine.ConsoleRun/Program.cs (.../Program.cs) (revision 1314) +++ DamEngine/trunk/src/Deltares.DamEngine.ConsoleRun/Program.cs (.../Program.cs) (revision 1323) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.IO; using CommandLine; using Deltares.DamEngine.Interface; @@ -32,15 +33,33 @@ var commandLineArguments = new CommandOptions(); ICommandLineParser parser = new CommandLineParser(); bool success = parser.ParseArguments(args, commandLineArguments); - if (success) + try { - string inputXml =""; - var damEnginInterface = new EngineInterface(inputXml); + if (success) + { + string inputXml = File.ReadAllText(commandLineArguments.InputFileName); + var damEnginInterface = new EngineInterface(inputXml); + string validationMessages = damEnginInterface.Validate(); + if (string.IsNullOrEmpty(validationMessages)) + { + // only if validation is ok, then + string outputXml = damEnginInterface.Run(); + File.WriteAllText(commandLineArguments.OutputFileName, outputXml); + } + else + { + File.WriteAllText(commandLineArguments.OutputFileName, validationMessages); + } + } + else + { + Console.WriteLine(); + Console.WriteLine(commandLineArguments.GetUsage()); + } } - else + catch (Exception e) { - Console.WriteLine(); - Console.WriteLine(commandLineArguments.GetUsage()); + Console.WriteLine(String.Format("Exception: {0}", e.Message)); } }