private void btnTransferir_Click(object sender, EventArgs e) { double retNum; bool ehNumerico = double.TryParse(txtTransfValor.Text, System.Globalization.NumberStyles.Currency, System.Globalization.NumberFormatInfo.InvariantInfo, out retNum); if (ehNumerico) { try { GerenciadorDeContasBanco.Transferir(contaSelecionada.ExibirNumero(), int.Parse(txtTransfConta.Text), Convert.ToDouble(txtTransfValor.Text)); StringBuilder mensagem = new StringBuilder(); mensagem.AppendLine("Transferência efetuada com sucesso!"); mensagem.AppendLine("Conta Origem: " + contaSelecionada.ExibirNumero()); mensagem.AppendLine("Titular Origem: " + contaSelecionada.ExibirTitular()); mensagem.AppendLine(""); mensagem.AppendLine("Conta Destino: " + txtTransfConta.Text); mensagem.AppendLine("Titular Destino: " + lblTransfTitular.Text); mensagem.AppendLine(""); mensagem.AppendLine("Valor: " + String.Format("{0:C}", Convert.ToDouble(txtTransfValor.Text))); MessageBox.Show(mensagem.ToString(), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btnConsultarConta_Click(this, new EventArgs()); } } }
private static void MenuDaConta(Conta conta, ITributavel tributo = null) { string key = ""; double valor = 0; while (key.ToUpper() != "Q") { Console.Clear(); Console.WriteLine("Nome do Cliente: " + conta.ExibirTitular()); Console.WriteLine("Número da Conta: " + conta.ExibirNumero()); Console.WriteLine(); Console.WriteLine("1 - Depositar."); Console.WriteLine("2 - Sacar."); Console.WriteLine("3 - Transferir."); Console.WriteLine("4 - Ver Saldo."); Console.WriteLine("5 - Resumo Tributário."); Console.WriteLine("Q - Para Sair"); Console.WriteLine(); Console.Write("Informe um valor: "); key = Convert.ToString(Console.ReadLine()); switch (key) { case "1": Console.Clear(); Console.Write("Informe o valor a depositar: "); valor = Convert.ToDouble(Console.ReadLine()); conta.Depositar(valor, true); Console.WriteLine(); Console.WriteLine("Saldo Atual: " + conta.RetornarSaldoFormatado(false)); key = PressioneParaContinuar(); break; case "2": Console.Clear(); Console.Write("Informe o valor a sacar: "); valor = Convert.ToDouble(Console.ReadLine()); conta.Sacar(valor, true); Console.WriteLine(); Console.WriteLine("Saldo Atual: " + conta.RetornarSaldoFormatado(false)); key = PressioneParaContinuar(); break; case "3": Console.Clear(); if (GerenciadorDeContasBanco.ExisteContaPorNumero(conta.ExibirNumero())) { Console.Write("Informe o número da Conta de Depósito: "); int numeroContaDeDeposito = Convert.ToInt32(Console.ReadLine()); if (GerenciadorDeContasBanco.ExisteContaPorNumero(numeroContaDeDeposito)) { Console.Write("Informe o valor da transferência: "); var valorTransferencia = Convert.ToDouble(Console.ReadLine()); string msgOperacao = "Transferência feita com sucesso!"; if (!GerenciadorDeContasBanco.Transferir(conta.ExibirNumero(), numeroContaDeDeposito, valorTransferencia)) { msgOperacao = "Transferência não foi realizada com sucesso. Tente novamente"; } Console.WriteLine(msgOperacao); } else { throw new ContaInexistenteException(); } } else { throw new ContaInexistenteException(); } key = PressioneParaContinuar(); break; case "4": Console.Clear(); Console.WriteLine("Saldo Atual: " + String.Format("{0:C}", conta.RetornarSaldo(true))); key = PressioneParaContinuar(); break; case "5": Console.Clear(); Console.WriteLine("Conta: " + conta.ExibirNumero()); Console.WriteLine("Titular: " + conta.ExibirTitular()); Console.WriteLine("Total de Tributos: " + CalcularTaxaOtimizada(conta)); key = PressioneParaContinuar(); break; default: break; } } }