コード例 #1
0
        /// <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()}");
        }
コード例 #2
0
        /// <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());
        }