/// <summary> /// Order the device to connect to specified network /// </summary> /// <param name="requestConnectToNetwork"></param> /// <returns></returns> public async Task <ResultCommandNetworkStatus> ConnectToClientNetwork(RequestCommandConnectToNetwork requestConnectToNetwork) { var resultConnectToNetwork = await _streamClient.SendCommand <RequestCommandConnectToNetwork, ResultCommandNetworkStatus> (CommandsEnum.ConnectToNetwork, requestConnectToNetwork, Common.Helpers.SharedConstants.DEFAULT_ENCRYPTION_KEY); return(resultConnectToNetwork); }
public async Task <ResultCommandNetworkStatus> ConnectToClientNetwork(RequestCommandConnectToNetwork requestConnectToNetwork) { RestRequest request = await PrepareQuery("ConnectToNetwork", Method.POST); request.AddParameter("application/json", JsonConvert.SerializeObject(requestConnectToNetwork), ParameterType.RequestBody); var queryResult = await _client.ExecuteTaskAsync <Command>(request); if (queryResult.IsSuccessful) { return(GetResultCommand <ResultCommandNetworkStatus>(queryResult.Data)); } else { Debug.WriteLine($"ConnectToNetwork: {queryResult.StatusCode}"); } return(ResultCommand.CreateFailedCommand <ResultCommandNetworkStatus>($"ConnectToNetwork: {queryResult.StatusCode}")); }
public async Task <ResultCommandNetworkStatus> ConnectToNetworkHandler(RequestCommandConnectToNetwork requestConnectToNetwork) { try { NetworkInformation networkInfo = requestConnectToNetwork.NetworkInformation; var wifiSet = await FindWifi(networkInfo.Ssid); if (wifiSet != null) { if (!await PortalApiHelper.DisconnectFromNetwork(wifiSet.Adapter.NetworkAdapter.NetworkAdapterId)) { DebugHelper.LogWarning($"Error while trying to disconnect from network: {wifiSet.Adapter.NetworkAdapter.NetworkAdapterId}"); } var availableNetworks = await PortalApiHelper.GetAvailableNetworks(wifiSet.Adapter.NetworkAdapter.NetworkAdapterId); foreach (var network in availableNetworks.AvailableNetworks) { if (network.ProfileAvailable && !await PortalApiHelper.DeleteNetworkProfile(wifiSet.Adapter.NetworkAdapter.NetworkAdapterId, network.ProfileName)) { DebugHelper.LogWarning($"Error while trying to disconnect from network: {wifiSet.Adapter.NetworkAdapter.NetworkAdapterId}"); } } if (!await PortalApiHelper.ConnectToNetwork(wifiSet.Adapter.NetworkAdapter.NetworkAdapterId, networkInfo.Ssid, networkInfo.Password)) { return(ResultCommand.CreateFailedCommand <ResultCommandNetworkStatus>($"Error ConnectToNetworkHandler: Could not connect to network '{networkInfo.Ssid}'.")); } return(new ResultCommandNetworkStatus() { IsSuccess = true, Status = "Connected" }); } return(ResultCommand.CreateFailedCommand <ResultCommandNetworkStatus>($"Error ConnectToNetworkHandler: UnspecifiedFailure.")); } catch (Exception e) { DebugHelper.LogError($"Error ConnectToNetworkHandler: {e.Message}."); return(ResultCommand.CreateFailedCommand <ResultCommandNetworkStatus>($"Error ConnectToNetworkHandler: {e.Message}.")); } }