示例#1
0
        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);
                }
            }
        }