code cleanup to match new standars

This commit is contained in:
Andrew Welker
2020-03-24 15:45:31 -06:00
parent 58c3c4fac7
commit c47f7ba7e3

View File

@@ -1,13 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharpPro.Diagnostics; using Crestron.SimplSharpPro.Diagnostics;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
@@ -26,9 +22,9 @@ namespace PepperDash.Essentials.Core.Monitoring
public IntFeedback TimeZoneFeedback { get; set; } public IntFeedback TimeZoneFeedback { get; set; }
public StringFeedback TimeZoneTextFeedback { get; set; } public StringFeedback TimeZoneTextFeedback { get; set; }
public StringFeedback IOControllerVersionFeedback { get; set; } public StringFeedback IoControllerVersionFeedback { get; set; }
public StringFeedback SnmpVersionFeedback { get; set; } public StringFeedback SnmpVersionFeedback { get; set; }
public StringFeedback BACnetAppVersionFeedback { get; set; } public StringFeedback BaCnetAppVersionFeedback { get; set; }
public StringFeedback ControllerVersionFeedback { get; set; } public StringFeedback ControllerVersionFeedback { get; set; }
public SystemMonitorController(string key) public SystemMonitorController(string key)
@@ -40,13 +36,13 @@ namespace PepperDash.Essentials.Core.Monitoring
//CrestronConsole.AddNewConsoleCommand(RefreshSystemMonitorData, "RefreshSystemMonitor", "Refreshes System Monitor Feedbacks", ConsoleAccessLevelEnum.AccessOperator); //CrestronConsole.AddNewConsoleCommand(RefreshSystemMonitorData, "RefreshSystemMonitor", "Refreshes System Monitor Feedbacks", ConsoleAccessLevelEnum.AccessOperator);
TimeZoneFeedback = new IntFeedback(new Func<int>( () => SystemMonitor.TimeZoneInformation.TimeZoneNumber)); TimeZoneFeedback = new IntFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneNumber);
TimeZoneTextFeedback = new StringFeedback(new Func<string>( () => SystemMonitor.TimeZoneInformation.TimeZoneName)); TimeZoneTextFeedback = new StringFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneName);
IOControllerVersionFeedback = new StringFeedback(new Func<string>( () => SystemMonitor.VersionInformation.IOPVersion)); IoControllerVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.IOPVersion);
SnmpVersionFeedback = new StringFeedback(new Func<string>( () => SystemMonitor.VersionInformation.SNMPVersion)); SnmpVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.SNMPVersion);
BACnetAppVersionFeedback = new StringFeedback(new Func<string>( () => SystemMonitor.VersionInformation.BACNetVersion)); BaCnetAppVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.BACNetVersion);
ControllerVersionFeedback = new StringFeedback(new Func<string>( () => SystemMonitor.VersionInformation.ControlSystemVersion)); ControllerVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.ControlSystemVersion);
//var status = string.Format("System Monitor Status: \r TimeZone: {0}\rTimeZoneText: {1}\rIOControllerVersion: {2}\rSnmpAppVersionFeedback: {3}\rBACnetAppVersionFeedback: {4}\rControllerVersionFeedback: {5}", //var status = string.Format("System Monitor Status: \r TimeZone: {0}\rTimeZoneText: {1}\rIOControllerVersion: {2}\rSnmpAppVersionFeedback: {3}\rBACnetAppVersionFeedback: {4}\rControllerVersionFeedback: {5}",
// SystemMonitor.TimeZoneInformation.TimeZoneNumber, SystemMonitor.TimeZoneInformation.TimeZoneName, SystemMonitor.VersionInformation.IOPVersion, SystemMonitor.VersionInformation.SNMPVersion, // SystemMonitor.TimeZoneInformation.TimeZoneNumber, SystemMonitor.TimeZoneInformation.TimeZoneName, SystemMonitor.VersionInformation.IOPVersion, SystemMonitor.VersionInformation.SNMPVersion,
@@ -62,32 +58,32 @@ namespace PepperDash.Essentials.Core.Monitoring
ProgramStatusFeedbackCollection.Add(prog.Number, program); ProgramStatusFeedbackCollection.Add(prog.Number, program);
} }
SystemMonitor.ProgramChange += new ProgramStateChangeEventHandler(SystemMonitor_ProgramChange); SystemMonitor.ProgramChange += SystemMonitor_ProgramChange;
SystemMonitor.TimeZoneInformation.TimeZoneChange += new TimeZoneChangeEventHandler(TimeZoneInformation_TimeZoneChange); SystemMonitor.TimeZoneInformation.TimeZoneChange += TimeZoneInformation_TimeZoneChange;
} }
/// <summary> /// <summary>
/// Gets data in separate thread /// Gets data in separate thread
/// </summary> /// </summary>
/// <param name="command"></param> private void RefreshSystemMonitorData()
void RefreshSystemMonitorData(string command)
{ {
// this takes a while, launch a new thread // this takes a while, launch a new thread
CrestronInvoke.BeginInvoke((o) => CrestronInvoke.BeginInvoke(UpdateFeedback);
}
private void UpdateFeedback(object o)
{ {
TimeZoneFeedback.FireUpdate(); TimeZoneFeedback.FireUpdate();
TimeZoneTextFeedback.FireUpdate(); TimeZoneTextFeedback.FireUpdate();
IOControllerVersionFeedback.FireUpdate(); IoControllerVersionFeedback.FireUpdate();
SnmpVersionFeedback.FireUpdate(); SnmpVersionFeedback.FireUpdate();
BACnetAppVersionFeedback.FireUpdate(); BaCnetAppVersionFeedback.FireUpdate();
ControllerVersionFeedback.FireUpdate(); ControllerVersionFeedback.FireUpdate();
OnSystemMonitorPropertiesChanged(); OnSystemMonitorPropertiesChanged();
} }
);
}
void OnSystemMonitorPropertiesChanged() private void OnSystemMonitorPropertiesChanged()
{ {
var handler = SystemMonitorPropertiesChanged; var handler = SystemMonitorPropertiesChanged;
if (handler != null) if (handler != null)
@@ -98,7 +94,7 @@ namespace PepperDash.Essentials.Core.Monitoring
public override bool CustomActivate() public override bool CustomActivate()
{ {
RefreshSystemMonitorData(null); RefreshSystemMonitorData();
return base.CustomActivate(); return base.CustomActivate();
} }
@@ -114,7 +110,7 @@ namespace PepperDash.Essentials.Core.Monitoring
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="args"></param> /// <param name="args"></param>
void SystemMonitor_ProgramChange(Program sender, ProgramEventArgs args) private void SystemMonitor_ProgramChange(Program sender, ProgramEventArgs args)
{ {
Debug.Console(2, this, "Program Change Detected for slot: {0}", sender.Number); Debug.Console(2, this, "Program Change Detected for slot: {0}", sender.Number);
Debug.Console(2, this, "Event Type: {0}", args.EventType); Debug.Console(2, this, "Event Type: {0}", args.EventType);
@@ -153,7 +149,7 @@ namespace PepperDash.Essentials.Core.Monitoring
/// Responds to time zone changes and updates the appropriate feedbacks /// Responds to time zone changes and updates the appropriate feedbacks
/// </summary> /// </summary>
/// <param name="args"></param> /// <param name="args"></param>
void TimeZoneInformation_TimeZoneChange(TimeZoneEventArgs args) private void TimeZoneInformation_TimeZoneChange(TimeZoneEventArgs args)
{ {
Debug.Console(2, this, "Time Zone Change Detected."); Debug.Console(2, this, "Time Zone Change Detected.");
TimeZoneFeedback.FireUpdate(); TimeZoneFeedback.FireUpdate();
@@ -192,17 +188,17 @@ namespace PepperDash.Essentials.Core.Monitoring
ProgramInfo.OperatingState = Program.OperatingState; ProgramInfo.OperatingState = Program.OperatingState;
ProgramInfo.RegistrationState = Program.RegistrationState; ProgramInfo.RegistrationState = Program.RegistrationState;
ProgramStartedFeedback = new BoolFeedback(new Func<bool>( () => Program.OperatingState == eProgramOperatingState.Start)); ProgramStartedFeedback = new BoolFeedback(() => Program.OperatingState == eProgramOperatingState.Start);
ProgramStoppedFeedback = new BoolFeedback(new Func<bool>( () => Program.OperatingState == eProgramOperatingState.Stop)); ProgramStoppedFeedback = new BoolFeedback(() => Program.OperatingState == eProgramOperatingState.Stop);
ProgramRegisteredFeedback = new BoolFeedback(new Func<bool>( () => Program.RegistrationState == eProgramRegistrationState.Register)); ProgramRegisteredFeedback = new BoolFeedback(() => Program.RegistrationState == eProgramRegistrationState.Register);
ProgramUnregisteredFeedback = new BoolFeedback(new Func<bool>( () => Program.RegistrationState == eProgramRegistrationState.Unregister)); ProgramUnregisteredFeedback = new BoolFeedback(() => Program.RegistrationState == eProgramRegistrationState.Unregister);
ProgramNameFeedback = new StringFeedback(new Func<string>(() => ProgramInfo.ProgramFile)); ProgramNameFeedback = new StringFeedback(() => ProgramInfo.ProgramFile);
ProgramCompileTimeFeedback = new StringFeedback(new Func<string>(() => ProgramInfo.CompileTime)); ProgramCompileTimeFeedback = new StringFeedback(() => ProgramInfo.CompileTime);
CrestronDataBaseVersionFeedback = new StringFeedback(new Func<string>(() => ProgramInfo.CrestronDB)); CrestronDataBaseVersionFeedback = new StringFeedback(() => ProgramInfo.CrestronDb);
EnvironmentVersionFeedback = new StringFeedback(new Func<string>(() => ProgramInfo.Environment)); EnvironmentVersionFeedback = new StringFeedback(() => ProgramInfo.Environment);
AggregatedProgramInfoFeedback = new StringFeedback(new Func<string>(() => JsonConvert.SerializeObject(ProgramInfo))); AggregatedProgramInfoFeedback = new StringFeedback(() => JsonConvert.SerializeObject(ProgramInfo));
GetProgramInfo(); GetProgramInfo();
} }
@@ -212,7 +208,10 @@ namespace PepperDash.Essentials.Core.Monitoring
/// </summary> /// </summary>
public void GetProgramInfo() public void GetProgramInfo()
{ {
CrestronInvoke.BeginInvoke((o) => CrestronInvoke.BeginInvoke(GetProgramInfo);
}
private void GetProgramInfo(object o)
{ {
Debug.Console(2, "Attempting to get program info for slot: {0}", Program.Number); Debug.Console(2, "Attempting to get program info for slot: {0}", Program.Number);
@@ -233,7 +232,6 @@ namespace PepperDash.Essentials.Core.Monitoring
ProgramInfo.Include4Dat = ParseConsoleData(response, "Include4.dat", ": ", "\n"); ProgramInfo.Include4Dat = ParseConsoleData(response, "Include4.dat", ": ", "\n");
if (ProgramInfo.ProgramFile.Contains(".dll")) if (ProgramInfo.ProgramFile.Contains(".dll"))
{ {
// SSP Program // SSP Program
@@ -248,10 +246,9 @@ namespace PepperDash.Essentials.Core.Monitoring
// SIMPL Windows Program // SIMPL Windows Program
ProgramInfo.FriendlyName = ParseConsoleData(response, "Friendly Name", ":", "\n"); ProgramInfo.FriendlyName = ParseConsoleData(response, "Friendly Name", ":", "\n");
ProgramInfo.SystemName = ParseConsoleData(response, "System Name", ": ", "\n"); ProgramInfo.SystemName = ParseConsoleData(response, "System Name", ": ", "\n");
ProgramInfo.CrestronDB = ParseConsoleData(response, "CrestronDB", ": ", "\n"); ProgramInfo.CrestronDb = ParseConsoleData(response, "CrestronDB", ": ", "\n");
ProgramInfo.Environment = ParseConsoleData(response, "Source Env", ": ", "\n"); ProgramInfo.Environment = ParseConsoleData(response, "Source Env", ": ", "\n");
ProgramInfo.Programmer = ParseConsoleData(response, "Programmer", ": ", "\n"); ProgramInfo.Programmer = ParseConsoleData(response, "Programmer", ": ", "\n");
} }
//Debug.Console(2, "ProgramInfo: \r{0}", JsonConvert.SerializeObject(ProgramInfo)); //Debug.Console(2, "ProgramInfo: \r{0}", JsonConvert.SerializeObject(ProgramInfo));
} }
@@ -260,10 +257,11 @@ namespace PepperDash.Essentials.Core.Monitoring
Debug.Console(2, "Bad or incomplete console command response. Initializing ProgramInfo for slot: {0}", Program.Number); Debug.Console(2, "Bad or incomplete console command response. Initializing ProgramInfo for slot: {0}", Program.Number);
// Assume no valid program info. Constructing a new object will wipe all properties // Assume no valid program info. Constructing a new object will wipe all properties
ProgramInfo = new ProgramInfo(Program.Number); ProgramInfo = new ProgramInfo(Program.Number)
{
ProgramInfo.OperatingState = Program.OperatingState; OperatingState = Program.OperatingState,
ProgramInfo.RegistrationState = Program.RegistrationState; RegistrationState = Program.RegistrationState
};
} }
} }
else else
@@ -279,7 +277,6 @@ namespace PepperDash.Essentials.Core.Monitoring
AggregatedProgramInfoFeedback.FireUpdate(); AggregatedProgramInfoFeedback.FireUpdate();
OnProgramInfoChanged(); OnProgramInfoChanged();
});
} }
public void OnProgramInfoChanged() public void OnProgramInfoChanged()
@@ -294,17 +291,17 @@ namespace PepperDash.Essentials.Core.Monitoring
private string ParseConsoleData(string data, string line, string startString, string endString) private string ParseConsoleData(string data, string line, string startString, string endString)
{ {
string outputData = ""; var outputData = "";
if (data.Length <= 0) return outputData;
if (data.Length > 0)
{
try try
{ {
//Debug.Console(2, "ParseConsoleData Data: {0}, Line {1}, startStirng {2}, endString {3}", data, line, startString, endString); //Debug.Console(2, "ParseConsoleData Data: {0}, Line {1}, startStirng {2}, endString {3}", data, line, startString, endString);
var linePosition = data.IndexOf(line); var linePosition = data.IndexOf(line, StringComparison.Ordinal);
var startPosition = data.IndexOf(startString, linePosition) + startString.Length; var startPosition = data.IndexOf(startString, linePosition, StringComparison.Ordinal) + startString.Length;
var endPosition = data.IndexOf(endString, startPosition); var endPosition = data.IndexOf(endString, startPosition, StringComparison.Ordinal);
outputData = data.Substring(startPosition, endPosition - startPosition).Trim(); outputData = data.Substring(startPosition, endPosition - startPosition).Trim();
//Debug.Console(2, "ParseConsoleData Return: {0}", outputData); //Debug.Console(2, "ParseConsoleData Return: {0}", outputData);
} }
@@ -312,7 +309,6 @@ namespace PepperDash.Essentials.Core.Monitoring
{ {
Debug.Console(1, "Error Parsing Console Data:\r{0}", e); Debug.Console(1, "Error Parsing Console Data:\r{0}", e);
} }
}
return outputData; return outputData;
} }
@@ -353,7 +349,7 @@ namespace PepperDash.Essentials.Core.Monitoring
[JsonProperty("systemName")] [JsonProperty("systemName")]
public string SystemName { get; set; } public string SystemName { get; set; }
[JsonProperty("crestronDb")] [JsonProperty("crestronDb")]
public string CrestronDB { get; set; } public string CrestronDb { get; set; }
[JsonProperty("environment")] [JsonProperty("environment")]
public string Environment { get; set; } public string Environment { get; set; }
[JsonProperty("programmer")] [JsonProperty("programmer")]
@@ -381,7 +377,7 @@ namespace PepperDash.Essentials.Core.Monitoring
Include4Dat = ""; Include4Dat = "";
SystemName = ""; SystemName = "";
CrestronDB = ""; CrestronDb = "";
Environment = ""; Environment = "";
Programmer = ""; Programmer = "";