Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }