@@ -251,15 +251,18 @@ namespace minimal
251
251
class Program
252
252
{
253
253
254
- static async Task Main(string[] args)
254
+ public static async Task Main(string[] args)
255
255
{
256
- //Create the Azure Digital Twins client for API calls
257
256
Console.WriteLine("Hello World!");
257
+
258
+ //Create the Azure Digital Twins client for API calls
258
259
DigitalTwinsClient client = createDTClient();
259
260
Console.WriteLine($"Service client created – ready to go");
261
+ Console.WriteLine();
260
262
261
263
//Upload models
262
264
Console.WriteLine($"Upload models");
265
+ Console.WriteLine();
263
266
string dtdl = File.ReadAllText("<path-to>/Room.json");
264
267
string dtdl1 = File.ReadAllText("<path-to>/Floor.json");
265
268
var typeList = new List<string>();
@@ -269,26 +272,25 @@ namespace minimal
269
272
await client.CreateModelsAsync(typeList);
270
273
271
274
//Create new (Floor) digital twin
272
- string srcId = "myFloorID";
273
275
BasicDigitalTwin floorTwin = new BasicDigitalTwin();
276
+ string srcId = "myFloorID";
274
277
floorTwin.Metadata = new DigitalTwinMetadata();
275
278
floorTwin.Metadata.ModelId = "dtmi:example:Floor;1";
276
279
//Floor twins have no properties, so nothing to initialize
277
280
//Create the twin
278
281
await client.CreateDigitalTwinAsync(srcId, JsonSerializer.Serialize<BasicDigitalTwin>(floorTwin));
279
- Console.WriteLine();
280
282
Console.WriteLine("Twin created successfully");
281
283
282
284
//Create second (Room) digital twin
283
- string targetId = "myRoomID";
284
285
BasicDigitalTwin roomTwin = new BasicDigitalTwin();
286
+ string targetId = "myRoomID";
285
287
roomTwin.Metadata = new DigitalTwinMetadata();
286
288
roomTwin.Metadata.ModelId = "dtmi:example:Room;1";
287
289
// Initialize properties
288
290
Dictionary<string, object> props = new Dictionary<string, object>();
289
291
props.Add("Temperature", 35.0);
290
292
props.Add("Humidity", 55.0);
291
- twin .CustomProperties = props;
293
+ roomTwin .CustomProperties = props;
292
294
//Create the twin
293
295
await client.CreateDigitalTwinAsync(targetId, JsonSerializer.Serialize<BasicDigitalTwin>(roomTwin));
294
296
@@ -297,27 +299,29 @@ namespace minimal
297
299
Console.WriteLine();
298
300
299
301
//Print twins and their relationships
300
- Console.WriteLine("Printing srcId - Outgoing relationships ");
301
- Console.WriteLine();
302
+ Console.WriteLine("--- Printing details: ");
303
+ Console.WriteLine("Outgoing relationships from source twin:" );
302
304
await FetchAndPrintTwinAsync(srcId, client);
303
305
Console.WriteLine();
304
- Console.WriteLine("Printing targetId - Incoming relationships");
305
- Console.WriteLine();
306
+ Console.WriteLine("Incoming relationships to target twin:");
306
307
await FetchAndPrintTwinAsync(targetId, client);
308
+ Console.WriteLine("--------");
309
+ Console.WriteLine();
307
310
308
311
//Delete the relationship
309
312
Console.WriteLine("Deleting the relationship");
310
- Console.WriteLine();
311
313
await DeleteRelationship(client, srcId, $"{srcId}-contains->{targetId}");
314
+ Console.WriteLine();
312
315
313
316
//Print twins and their relationships again
314
- Console.WriteLine("Printing srcId - Outgoing relationships ");
315
- Console.WriteLine();
317
+ Console.WriteLine("--- Printing details: ");
318
+ Console.WriteLine("Outgoing relationships from source twin:" );
316
319
await FetchAndPrintTwinAsync(srcId, client);
317
320
Console.WriteLine();
318
- Console.WriteLine("Printing targetId - Incoming relationships");
319
- Console.WriteLine();
321
+ Console.WriteLine("Incoming relationships to target twin:");
320
322
await FetchAndPrintTwinAsync(targetId, client);
323
+ Console.WriteLine("--------");
324
+ Console.WriteLine();
321
325
}
322
326
323
327
private static DigitalTwinsClient createDTClient()
@@ -327,7 +331,7 @@ namespace minimal
327
331
DigitalTwinsClient client = new DigitalTwinsClient(new Uri(adtInstanceUrl), credentials);
328
332
return client;
329
333
}
330
- public async static Task CreateRelationship(DigitalTwinsClient client, string srcId, string targetId, string relName)
334
+ private async static Task CreateRelationship(DigitalTwinsClient client, string srcId, string targetId, string relName)
331
335
{
332
336
// Create relationship between twins
333
337
var relationship = new BasicRelationship
@@ -360,7 +364,7 @@ namespace minimal
360
364
return;
361
365
}
362
366
363
- public static async Task<List<BasicRelationship>> FindOutgoingRelationshipsAsync(DigitalTwinsClient client, string dtId)
367
+ private static async Task<List<BasicRelationship>> FindOutgoingRelationshipsAsync(DigitalTwinsClient client, string dtId)
364
368
{
365
369
// Find the relationships for the twin
366
370
@@ -385,7 +389,7 @@ namespace minimal
385
389
}
386
390
}
387
391
388
- public static async Task<List<IncomingRelationship>> FindIncomingRelationshipsAsync(DigitalTwinsClient client, string dtId)
392
+ private static async Task<List<IncomingRelationship>> FindIncomingRelationshipsAsync(DigitalTwinsClient client, string dtId)
389
393
{
390
394
// Find the relationships for the twin
391
395
0 commit comments