private string[] ConstructCommandText(TikCommandParameterFormat defaultParameterFormat)
{
EnsureCommandTextSet();
string commandText = CommandText;
if (!StringHelper.IsNullOrWhiteSpace(commandText) && !commandText.Contains("\n") && !commandText.StartsWith("/"))
commandText = "/" + commandText;
List<string> result;
if (commandText.Contains('\n'))
{
result = new List<string>(commandText.Split('\n').Select(row => row.Trim()));
}
else
{
result = new List<string> { commandText };
}
//parameters
result.AddRange(_parameters.Select(p =>
{
switch (ResolveParameterFormat(defaultParameterFormat, _defaultParameterFormat, p.ParameterFormat))
{
case TikCommandParameterFormat.Filter:
return string.Format("?{0}={1}", p.Name, p.Value);
case TikCommandParameterFormat.NameValue:
return string.Format("={0}={1}", p.Name, p.Value);
//case TikCommandParameterFormat.NameOnly:
// return string.Format("={0}", p.Name);
default:
throw new NotImplementedException();
}
}));
return result.ToArray();
}