fix: Adds try/catch around pre/post activation calls and adds JsonProperty decorators to Key and Name properties in interfaces

This commit is contained in:
Neil Dorin
2024-05-07 16:12:17 -06:00
parent 165841b802
commit 2558f44f9a
2 changed files with 22 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using Newtonsoft.Json;
using Serilog;
namespace PepperDash.Core
@@ -15,6 +16,7 @@ namespace PepperDash.Core
/// <summary>
/// Unique Key
/// </summary>
[JsonProperty("key")]
string Key { get; }
}
@@ -26,6 +28,7 @@ namespace PepperDash.Core
/// <summary>
/// Isn't it obvious :)
/// </summary>
[JsonProperty("name")]
string Name { get; }
}

View File

@@ -99,7 +99,15 @@ namespace PepperDash.Core
public void PreActivate()
{
if (_PreActivationActions != null)
_PreActivationActions.ForEach(a => a.Invoke());
_PreActivationActions.ForEach(a => {
try
{
a.Invoke();
} catch (Exception e)
{
Debug.LogMessage(e, "Error in PreActivationAction: " + e.Message, this);
}
});
}
/// <summary>
@@ -123,7 +131,16 @@ namespace PepperDash.Core
public void PostActivate()
{
if (_PostActivationActions != null)
_PostActivationActions.ForEach(a => a.Invoke());
_PostActivationActions.ForEach(a => {
try
{
a.Invoke();
}
catch (Exception e)
{
Debug.LogMessage(e, "Error in PostActivationAction: " + e.Message, this);
}
});
}
/// <summary>