private DTCommandPayload ModifyForRestApi(DTCommandPayload src) { DTCommandPayload dst = new DTCommandPayload(); dst.Id = src.Id; dst.Name = src.Name; if (src.Schema != null) { dst.Schema = ModifyForRestApi(src.Schema); // CommandPayloadはREST APIでは@typeが必要 dst.Type = new StringList { OutputArray = true }; dst.Type.Add("SchemaField"); } if (src.DisplayName != null) { dst.DisplayName = new DTLocalizable { OutputString = true }; foreach (var kvp in src.DisplayName) { dst.DisplayName.Add(kvp.Key, kvp.Value); } } return(dst); }
static DTCommandPayload make_command_payload(string propertyNameJa, string propertyNameEn, ELDefinition dataInfo, bool request) { var command = new DTCommandPayload(); var name = DTLocalizableConverter.MakeDigitalTwinId(propertyNameEn); var temp = $"dtmi:EchonetLite:{name}:{(request ? "Request" : "Response")};1"; command.Id = temp; command.Name = name; var schema = make_schema(dataInfo); command.Schema = schema; command.DisplayName = new DTLocalizable { { "en", propertyNameEn }, { "ja", propertyNameJa } }; return(command); }