Esempio n. 1
0
 internal static async Task<Device> Create(Guid id, Environment environment, IEnvironmentService service)
 {
     service.ValidateNonNull(nameof(service));
     var info = await service.Device(id);
     var result = new Device(environment, service,
         id, info.Name, info.Description, info.Location,
         info.IsAvailable, info.IsConnected);
     await DeviceProvider.AddDevices(environment, service, info.DeviceIds, result.Devices);
     await AddRecordables(environment, service, info.RecordableIds, result);
     return result;
 }
Esempio n. 2
0
        internal static async Task AddRecordables(Environment environment, IEnvironmentService service,
            IEnumerable<Guid> recordableIds, Device device)
        {
            IEnumerable<IRecordable> recordables = null;
            await Task.Run(() =>
            {
                recordables = recordableIds.
                  AsParallel().AsOrdered().
                  Select(rid => Recordable.Create(rid, environment, service).Result);

            });
            device.Recordables.Add(recordables);
        }