private async void Salvar_ClickAsync(object sender, RoutedEventArgs e) { string message = string.Empty; if (string.IsNullOrEmpty(Nome.Text)) { message += "-> Preencha o nome\n"; } if (NumeroCartao.Text.Length < 12 || NumeroCartao.Text.Length > 19) { message += "-> Número de cartão inválido\n"; } if (Bandeira.SelectedIndex == -1) { message += "-> Selecione uma bandeira\n"; } if (Tipo.SelectedIndex == -1) { message += "-> Selecione um tipo\n"; } if (Senha.Password.Length < 4 || Senha.Password.Length > 6 || Senha.Password != ConfirmarSenha.Password) { message += "-> Senhas inválidas\n"; } if (!decimal.TryParse(Saldo.Text, out _) || decimal.Parse(Saldo.Text) <= 0) { message += "-> Saldo inválido\n"; } if (!string.IsNullOrEmpty(message.Trim())) { MessageBox.Show(message.Trim()); } else { var clienteDTO = new ClienteDTO() { NumeroCartao = NumeroCartao.Text, Saldo = decimal.Parse(Saldo.Text), Tipo = ((TipoDTO)Tipo.SelectedItem).TipoID, Nome = Nome.Text, Bandeira = Bandeira.SelectedItem.ToString(), Senha = Senha.Password }; var response = await client.PostAsJsonAsync("/api/client/", clienteDTO); response.EnsureSuccessStatusCode(); //lança um código de erro string json = await response.Content.ReadAsStringAsync(); var retorno = JsonConvert.DeserializeObject <RetornoTransacaoDTO>(json); if (retorno.Codigo == 1) { MessageBox.Show("Dados salvos com sucesso!"); DialogResult = true; Close(); } else { throw new Exception(retorno.Descricao); } } }