public Command BuildGetCommand() {
var command = new Command("get");
command.Description = "The to [term] of the relation. The term to which the relationship is defined.";
// Create options for all the parameters
var groupIdOption = new Option<string>("--group-id", description: "key: id of group") {
};
groupIdOption.IsRequired = true;
command.AddOption(groupIdOption);
var siteIdOption = new Option<string>("--site-id", description: "key: id of site") {
};
siteIdOption.IsRequired = true;
command.AddOption(siteIdOption);
var setIdOption = new Option<string>("--set-id", description: "key: id of set") {
};
setIdOption.IsRequired = true;
command.AddOption(setIdOption);
var termIdOption = new Option<string>("--term-id", description: "key: id of term") {
};
termIdOption.IsRequired = true;
command.AddOption(termIdOption);
var termId1Option = new Option<string>("--term-id1", description: "key: id of term") {
};
termId1Option.IsRequired = true;
command.AddOption(termId1Option);
var relationIdOption = new Option<string>("--relation-id", description: "key: id of relation") {
};
relationIdOption.IsRequired = true;
command.AddOption(relationIdOption);
var selectOption = new Option<string[]>("--select", description: "Select properties to be returned") {
Arity = ArgumentArity.ZeroOrMore
};
selectOption.IsRequired = false;
command.AddOption(selectOption);
var expandOption = new Option<string[]>("--expand", description: "Expand related entities") {
Arity = ArgumentArity.ZeroOrMore
};
expandOption.IsRequired = false;
command.AddOption(expandOption);
var outputOption = new Option<FormatterType>("--output", () => FormatterType.JSON){
IsRequired = true
};
command.AddOption(outputOption);
var queryOption = new Option<string>("--query");
command.AddOption(queryOption);
var jsonNoIndentOption = new Option<bool>("--json-no-indent", r => {
if (bool.TryParse(r.Tokens.Select(t => t.Value).LastOrDefault(), out var value)) {
return value;
}
return true;
}, description: "Disable indentation for the JSON output formatter.");
command.AddOption(jsonNoIndentOption);
command.SetHandler(async (object[] parameters) => {
var groupId = (string) parameters[0];
var siteId = (string) parameters[1];
var setId = (string) parameters[2];
var termId = (string) parameters[3];
var termId1 = (string) parameters[4];
var relationId = (string) parameters[5];
var select = (string[]) parameters[6];
var expand = (string[]) parameters[7];
var output = (FormatterType) parameters[8];
var query = (string) parameters[9];
var jsonNoIndent = (bool) parameters[10];
var outputFilter = (IOutputFilter) parameters[11];
var outputFormatterFactory = (IOutputFormatterFactory) parameters[12];
var cancellationToken = (CancellationToken) parameters[13];
var requestInfo = CreateGetRequestInformation(q => {
q.QueryParameters.Select = select;
q.QueryParameters.Expand = expand;
});
requestInfo.PathParameters.Add("group%2Did", groupId);
requestInfo.PathParameters.Add("site%2Did", siteId);
requestInfo.PathParameters.Add("set%2Did", setId);
requestInfo.PathParameters.Add("term%2Did", termId);
requestInfo.PathParameters.Add("term%2Did1", termId1);
requestInfo.PathParameters.Add("relation%2Did", relationId);
var errorMapping = new Dictionary<string, ParsableFactory<IParsable>> {
{"4XX", ODataError.CreateFromDiscriminatorValue},
{"5XX", ODataError.CreateFromDiscriminatorValue},
};
var response = await RequestAdapter.SendPrimitiveAsync<Stream>(requestInfo, errorMapping: errorMapping, cancellationToken: cancellationToken);
response = await outputFilter?.FilterOutputAsync(response, query, cancellationToken) ?? response;
var formatterOptions = output.GetOutputFormatterOptions(new FormatterOptionsModel(!jsonNoIndent));
var formatter = outputFormatterFactory.GetFormatter(output);
await formatter.WriteOutputAsync(response, formatterOptions, cancellationToken);
}, new CollectionBinding(groupIdOption, siteIdOption, setIdOption, termIdOption, termId1Option, relationIdOption, selectOption, expandOption, outputOption, queryOption, jsonNoIndentOption, new TypeBinding(typeof(IOutputFilter)), new TypeBinding(typeof(IOutputFormatterFactory)), new TypeBinding(typeof(CancellationToken))));
return command;
}
/// <summary>