/// <summary> /// Emits the message type with the given data serialized as JSON. /// </summary> /// <param name="messageType"></param> /// <param name="dataToSerialize"></param> private static void EmitSerializedOutput(AvailableCommand messageType, object dataToSerialize) { var serializedString = new JavaScriptSerializer().Serialize(dataToSerialize); Store.Data.Pipe.Main.PushMessage(new Message() { Text = $"{ messageType.GetDescription() } --response={ serializedString }" }); Loggers.CliLogger.Trace($"Emitting response for {messageType.GetDescription()}"); }
/// <summary> /// Builds and formats the output response. /// </summary> /// <param name="messageType"></param> /// <param name="parameters"></param> /// <returns></returns> private static string BuildParameterizedOutput(AvailableCommand messageType, IDictionary <string, string> parameters = null) { var commandToExecute = new StringBuilder(messageType.GetDescription()); if (parameters != null) { StringBuilder parameterString = parameters.Aggregate(new StringBuilder(), (stringBuilder, x) => stringBuilder.Append($" --{x.Key}={x.Value}")); commandToExecute.Append(parameterString); } return(commandToExecute.ToString()); }