private void SaveChanges(object sender, System.Windows.RoutedEventArgs e) { var client = new RestClient("http://localhost:62140/Token"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("grant_type", "password"); request.AddParameter("username", textBoxEmail.Text); request.AddParameter("password", textBoxPassword.Password); IRestResponse response = client.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { Dictionary <string, string> tokenDictionary = JsonConvert.DeserializeObject <Dictionary <string, string> >(response.Content); string accessToken = tokenDictionary["access_token"]; var clientAddNobreakToAccount = new RestClient("http://localhost:62140/api/"); var requestAddNobreakToAccount = new RestRequest("Nobreaks/PostAddNobreakToAccount", Method.POST); requestAddNobreakToAccount.AddHeader("content-type", "application/x-www-form-urlencoded"); requestAddNobreakToAccount.AddHeader("Authorization", "Bearer " + accessToken); requestAddNobreakToAccount.AddHeader("token_type", "bearer"); INobreakServiceChannel ch = App.Channel; //var informacoesNobreak = ch.InformationInquiry(); var nobreak = new Nobreak() { Serial = textBoxSerial.Text, Label = textBoxNobreakNickname.Text, //nobreak.UPSModel = informacoesNobreak.Modelo; //nobreak.Version = informacoesNobreak.Versao; CompanyName = "TS Shara" }; var nbJson = JsonConvert.SerializeObject(nobreak); requestAddNobreakToAccount.AddParameter("text/json", nbJson, ParameterType.RequestBody); requestAddNobreakToAccount.RequestFormat = RestSharp.DataFormat.Json; response = clientAddNobreakToAccount.Execute(requestAddNobreakToAccount); var settingsWorkQuery = new SettingsWorkQuery(); var currentSettings = settingsWorkQuery.FindFirstData(); currentSettings.UserEmail = textBoxEmail.Text; currentSettings.UserToken = accessToken; settingsWorkQuery.UpdateData(currentSettings); //MessageBox.Show(response.Content); NotifierHelper.ShowInformation(response.Content, 1); } else { Dictionary <string, string> responseError = JsonConvert.DeserializeObject <Dictionary <string, string> >(response.Content); NotifierHelper.ShowInformation(responseError["error_description"], 2); } }
/// <summary> /// Conecta o cliente ao serviço windows (local ou remoto) /// </summary> private void Connect() { while (!_isConnected) { try { NetTcpBinding binding = new NetTcpBinding(); binding.Security.Mode = SecurityMode.None; string ip = Properties.Settings.Default.IpNobreak; ip = "127.0.0.1"; DuplexChannelFactory <INobreakServiceChannel> channelFactory = new DuplexChannelFactory <INobreakServiceChannel>( new InstanceContext(this), binding, new EndpointAddress("net.tcp://" + ip + ":9999/powernt-service")); _channel = channelFactory.CreateChannel(); _channel.Connect(); _isConnected = true; App.Channel = _channel; } catch (Exception ex) { Conexao = new TranslateToCurrentLanguage().GetCurrentLanguageDictionary("LabelUnavailableService"); RedeLabel = ""; App.UPSData = null; App.StatusInfo = null; Debug.WriteLine("Falha ao tentar conectar o canal: " + ex.Message); _isConnected = false; log.Error("Problema ao estabelecer conexão com serviço", ex); } Thread.Sleep(2000); } }