diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-03-14 17:48:33 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-03-14 17:48:33 +0200 |
| commit | 748d18fe3bfa60a586de151c3bb0d1fd608b1e13 (patch) | |
| tree | 27748a339a8e4e5572a6503cc08324f49aa120b7 /Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs | |
| parent | 1ebb6a67c93969f3d3822893d4e191d14f8fd3e3 (diff) | |
| download | Tango-748d18fe3bfa60a586de151c3bb0d1fd608b1e13.tar.gz Tango-748d18fe3bfa60a586de151c3bb0d1fd608b1e13.zip | |
Working on machine events !!!
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs b/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs index b782952a9..0ee99f1fa 100644 --- a/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs +++ b/Software/Visual_Studio/Utilities/Tango.PMRGenerator.CLI/Program.cs @@ -23,7 +23,7 @@ namespace Tango.PMRGenerator.CLI using (ObservablesContext db = ObservablesContext.CreateDefault()) { - db.Configuration.LazyLoadingEnabled = false; + db.Configuration.LazyLoadingEnabled = true; GenerateHardwareMotors(db, pmrFolder); GenerateHardwareDancers(db, pmrFolder); GenerateHardwarePidControls(db, pmrFolder); @@ -38,6 +38,7 @@ namespace Tango.PMRGenerator.CLI GenerateColorLabLiquidTypes(db, pmrFolder); GenerateDiagnosticsValueComponents(db, pmrFolder); GenerateDiagnosticsMonitors(db, pmrFolder); + GenerateDiagnosticsEventTypes(db, pmrFolder); } Console.WriteLine("Done"); @@ -442,6 +443,29 @@ namespace Tango.PMRGenerator.CLI File.WriteAllText(Path.Combine(pmrFolder, "Diagnostics", messageFile.Name + ".proto"), messageString); } + private static void GenerateDiagnosticsEventTypes(ObservablesContext db, String pmrFolder) + { + Console.WriteLine("Generating Diagnostics Event Types..."); + + ProtoEnumFile enumFile = new ProtoEnumFile(); + enumFile.Name = "EventType"; + enumFile.Package = "Tango.PMR.Diagnostics"; + + foreach (var field in db.EventTypes.ToList().OrderBy(x => x.Code)) + { + enumFile.Fields.Add(new EnumerationField() + { + Name = field.Name.Replace(" ", ""), + Description = field.Description + String.Format(" (Group = {0}, Category = {1}, Actions = {2})", field.EventTypesGroup.Name, field.EventTypesCategory.Name, String.Join(", ", field.EventTypesActions.Select(x => x.ActionType.Name))), + Value = field.Code, + }); + } + + String enumString = enumFile.GenerateCode(); + + File.WriteAllText(Path.Combine(pmrFolder, "Diagnostics", enumFile.Name + ".proto"), enumString); + } + private static String CoercePropertyType(Type type) { if (type == typeof(bool)) |
