AdapterLib.HueBridgeDevice.Link C# (CSharp) Method

Link() private method

private Link ( ) : void
return void
        private void Link()
        {
            try
            {
                var c = _client as Q42.HueApi.LocalHueClient;
                var devicename = Windows.Networking.Proximity.PeerFinder.DisplayName;
                var registerTask = c.RegisterAsync("AllJoynDSB", devicename);
                registerTask.Wait();
                var applicationKey = registerTask.Result;
                if (applicationKey != null)
                {
                    var container = ApplicationData.Current.LocalSettings.CreateContainer("RegisteredHueBridges", ApplicationDataCreateDisposition.Always);
                    container.Values[_description.SerialNumber] = applicationKey;
                    c.Initialize(applicationKey);
                    UpdateDeviceList();
                    _isLinkedProperty.Attributes[0].Value.Data = true;
                    _bridge.SignalChangeOfAttributeValue(this, _isLinkedProperty, _isLinkedProperty.Attributes[0]);
                    _enableJoinMethod.OutputParams[0].Data = "Bridge registered successfully";
                    //EnableJoinMethod.SetResult(0);
                }
                else
                {
                    _enableJoinMethod.OutputParams[0].Data = "No key returned";
                    //EnableJoinMethod.SetResult(2);
                }
            }
            catch (System.Exception ex)
            {
                string message;
                if (ex is AggregateException)
                    message = string.Join("\n", ((AggregateException)ex).InnerExceptions.Select(ie => ie.Message).ToArray());
                else
                    message = ex.Message;
                System.Diagnostics.Debug.WriteLine(message);
                _enableJoinMethod.OutputParams[0].Data = message; 
                _enableJoinMethod.SetResult(1);
            }
        }