private void OnLogWriteEntry(EventLogEntryCodes theLogCode, string[] theArg)
 {
     if (theArg != null)
     {
         m_LoggingService.WriteEntry((uint)theLogCode, theArg);
     }
     else
     {
         m_LoggingService.WriteEntry((uint)theLogCode);
     }
 }
 internal static void LogTaskAction(Action <EventLogEntryCodes, string[]> theLogAction, bool theState, EventLogEntryCodes theTrueEventLogCode, EventLogEntryCodes theFalseEventLogCode)
 {
     if (theState)
     {
         theLogAction?.Invoke(theTrueEventLogCode, null);
     }
     else
     {
         theLogAction?.Invoke(theFalseEventLogCode, null);
     }
 }
 internal static void LogTaskResult(Action <EventLogEntryCodes, string[]> theLogAction, Task <ProcessResult> theTask, EventLogEntryCodes theErroredEventLogCode)
 {
     if (theTask != null)
     {
         if (!theTask.Result.Okay())
         {
             theLogAction?.Invoke(theErroredEventLogCode, new string[] { theTask.Result.GetOutput() });
         }
     }
 }
 internal static void LogTaskResult(Action <EventLogEntryCodes, string[]> theLogAction, Task <ProcessResult> theTask, bool theState, EventLogEntryCodes theTrueCompleteEventLogCode, EventLogEntryCodes theFalseCompleteEventLogCode, EventLogEntryCodes theErroredEventLogCode)
 {
     if (theTask != null)
     {
         if (theTask.Result.Okay())
         {
             if (theState)
             {
                 theLogAction?.Invoke(theTrueCompleteEventLogCode, null);
             }
             else
             {
                 theLogAction?.Invoke(theFalseCompleteEventLogCode, null);
             }
         }
         else
         {
             theLogAction?.Invoke(theErroredEventLogCode, new string[] { theTask.Result.GetOutput() });
         }
     }
 }