예제 #1
0
        public async Task <DeviceConfiguration> DetermineConfiguration(GetDeviceConfiguration query)
        {
            var device = await _deviceRepo.GetDevice(query.DeviceId);

            if (device == null)
            {
                return(DeviceConfiguration.DeviceNotFound);
            }

            var application = await _applicationRepo.GetApplication(device.ApplicationId);

            // Get the application level configurations and override with any device level
            // configuration settings.
            DeviceConfiguration appConfig    = application.BuildConfiguration();
            DeviceConfiguration deviceConfig = device.BuildConfiguration();

            var configuration = appConfig.OverrideWith(deviceConfig);

            // Based on the combined settings, set the corresponding application and
            // agent versions.
            RegistryEntry registry = await GetRegistryEntry(configuration);

            configuration.SetRegistry(registry);

            return(configuration);
        }
예제 #2
0
 public static Task<DeviceConfiguration> AskDeviceStore(this IActorContext context, GetDeviceConfiguration message) => context.GetDeviceStore().Ask<DeviceConfiguration>(message);
        public Task <DeviceConfiguration> GetCurrentConfiguration()
        {
            var query = new GetDeviceConfiguration(_context.DeviceId);

            return(_messagingSrv.DispatchAsync(query));
        }