public async Task <WindowsUpdatePolicyDataContract.WUProperties> GetWindowsUpdatePolicyAsync()
        {
            var request  = new Message.GetWindowsUpdatePolicyRequest();
            var response = await _systemConfiguratorProxy.SendCommandAsync(request) as Message.GetWindowsUpdatePolicyResponse;

            WindowsUpdatePolicyDataContract.WUProperties reportedProperties = ResponseToReported(response);
            return(reportedProperties);
        }
        public async Task <WindowsUpdateRingState> GetRingAsync()
        {
            var request  = new Message.GetWindowsUpdatePolicyRequest();
            var response = await _systemConfiguratorProxy.SendCommandAsync(request) as Message.GetWindowsUpdatePolicyResponse;

            WindowsUpdateRingState state = new WindowsUpdateRingState();

            state.ring             = WindowsUpdateRingState.RingFromJsonString(response.data.ring);
            state.settingsPriority = SettingsPriorityFromString(response.data.policy.source);
            return(state);
        }
        private async Task ReportToDeviceTwin()
        {
            var request  = new Message.GetWindowsUpdatePolicyRequest();
            var response = await _systemConfiguratorProxy.SendCommandAsync(request) as Message.GetWindowsUpdatePolicyResponse;

            if (response.ReportToDeviceTwin == DMJSonConstants.YesString)
            {
                WindowsUpdatePolicyDataContract.WUProperties reportedProperties = ResponseToReported(response);

                await _callback.ReportPropertiesAsync(PropertySectionName, reportedProperties.ToJsonObject());
            }
            else
            {
                await _callback.ReportPropertiesAsync(PropertySectionName, DMJSonConstants.NoReportString);
            }
        }
        private async Task <Message.GetWindowsUpdatePolicyResponse> GetWindowsUpdatePolicyAsync()
        {
            var request = new Message.GetWindowsUpdatePolicyRequest();

            return(await this._systemConfiguratorProxy.SendCommandAsync(request) as Message.GetWindowsUpdatePolicyResponse);
        }