public void Sacar(double valor, bool emiteComprovante) { if (TemSaldo(valor)) { this.saldo -= valor; if (emiteComprovante) { GravadorArquivo comprovante = new GravadorArquivo(); StringBuilder log = new StringBuilder(); log.AppendLine("**********SAQUE**********"); log.AppendLine(""); log.AppendLine("CONTA: " + this.ExibirNumero()); log.AppendLine("CORRENTISTA: " + this.ExibirTitular()); log.AppendLine("VALOR BRUTO: " + String.Format("{0:C}", valor)); log.AppendLine(""); log.AppendLine("TRIBUTOS: " + String.Format("{0:C}", this.RetornarTaxa() * valor)); log.AppendLine(""); log.AppendLine("SALDO DISPONÍVEL: " + this.RetornarSaldoFormatado(false)); log.AppendLine(""); log.AppendLine("Feito em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); log.AppendLine("*************************"); comprovante.EscreverArquivo(comprovante.dirGravacao, arquivoSaque, log.ToString()); comprovante.EscreverArquivo(comprovante.dirGravacao, arquivoLog, "OPERAÇÃO SAQUE feita em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); } } else { throw new SaldoInsuficienteException(); } }
private void AdicionaComprovante(string acao, double valor, Conta contaDestino = null) { acao = acao.ToUpper(); comp.AppendLine("*************" + acao + "*************"); comp.AppendLine(""); switch (acao) { case "DEPOSITO": comp.AppendLine(String.Format("CONTA: {0}", this.ExibirNumero())); comp.AppendLine(String.Format("CORRENTISTA: {0}", this.ExibirTitular())); comp.AppendLine(String.Format("VALOR: R${0}", valor)); break; case "SAQUE": comp.AppendLine(String.Format("CONTA: {0}", this.ExibirNumero())); comp.AppendLine(String.Format("CORRENTISTA: {0}", this.ExibirTitular())); comp.AppendLine(String.Format("VALOR: R${0}", valor)); break; case "TRANSFERENCIA": comp.AppendLine(String.Format("CONTA SAQUE: {0}", this.ExibirNumero())); comp.AppendLine(String.Format("CORRENTISTA SAQUE: {0}", this.ExibirTitular())); comp.AppendLine(""); comp.AppendLine(String.Format("CONTA DEPOSITO: {0}", contaDestino.ExibirNumero())); comp.AppendLine(String.Format("CORRENTISTA DEPOSITO: {0}", contaDestino.ExibirTitular())); comp.AppendLine(""); comp.AppendLine(String.Format("VALOR: R${0}", valor)); break; case "SALDO": comp.AppendLine(String.Format("CONTA: {0}", this.ExibirNumero())); comp.AppendLine(String.Format("CORRENTISTA: {0}", this.ExibirTitular())); comp.Append(String.Format("VALOR BRUTO: R${0}", this.saldo)); comp.AppendLine(""); comp.AppendLine(String.Format("TRIBUTOS: R${0}", this.CalcularTributo())); comp.AppendLine(""); comp.AppendLine(String.Format("SALDO DISPONIVEL: R${0}", (this.saldo - this.CalcularTributo()))); break; case "TRIBUTOS": comp.AppendLine(String.Format("CONTA: {0}", this.ExibirNumero())); comp.AppendLine(String.Format("CORRENTISTA: {0}", this.ExibirTitular())); comp.AppendLine(String.Format("TRIBUTOS: R${0}", this.CalcularTributo())); break; default: break; } comp.AppendLine(""); comp.AppendLine(String.Format("feito em: {0}", DateTime.Now)); comp.AppendLine("*********************************"); comp.AppendLine(""); gravador.EscreverArquivo(caminhoComprovantes, comp.ToString()); comp.Clear(); }
public void GravarCliente(Cliente cliente) { GravadorArquivo arquivo = new GravadorArquivo(); string registro = cliente.ExibirCPF() + ";" + cliente.ExibirNome() + ";" + cliente.ExibirRG() + ";" + cliente.ExibirDataNascimento(); arquivo.EscreverArquivo(arquivo.dirGravacao, "clientes.txt", registro); }
public void GravarConta(Conta cc) { GravadorArquivo arquivo = new GravadorArquivo(); string registro = cc.ExibirNumero() + ";" + cc.ExibirCliente().ExibirCPF() + ";" + cc.RetornarSaldo(false) + ";" + cc.ExibirTipo(); arquivo.EscreverArquivo(arquivo.dirGravacao, "contas.txt", registro); }
public void Depositar(double valor, bool emiteComprovante) { this.saldo += valor; if (emiteComprovante) { GravadorArquivo comprovante = new GravadorArquivo(); StringBuilder log = new StringBuilder(); log.AppendLine("********DEPÓSITO********"); log.AppendLine(""); log.AppendLine("CONTA: " + this.ExibirNumero()); log.AppendLine("CORRENTISTA: " + this.ExibirTitular()); log.AppendLine("VALOR: " + string.Format("{0:C}", valor)); log.AppendLine(""); log.AppendLine("Feito em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); log.AppendLine("*************************"); comprovante.EscreverArquivo(comprovante.dirGravacao, arquivoDeposito, log.ToString()); comprovante.EscreverArquivo(comprovante.dirGravacao, arquivoLog, "OPERAÇÃO DEPÓSITO feita em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); } }
public double RetornarSaldo(bool emiteComprovante) { if (emiteComprovante) { GravadorArquivo comprovante = new GravadorArquivo(); StringBuilder log = new StringBuilder(); log.AppendLine("**********SALDO**********"); log.AppendLine(""); log.AppendLine("CONTA: " + this.ExibirNumero()); log.AppendLine("CORRENTISTA: " + this.ExibirTitular()); log.AppendLine(""); log.AppendLine("SALDO DISPONÍVEL: " + this.RetornarSaldoFormatado(false)); log.AppendLine(""); log.AppendLine("Feito em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); log.AppendLine("*************************"); comprovante.EscreverArquivo(comprovante.dirGravacao, arquivoSaldo, log.ToString()); comprovante.EscreverArquivo(comprovante.dirGravacao, arquivoLog, "OPERAÇÃO SALDO feita em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); } return(this.saldo); }
public bool Transferir(int numeroContaDeSaque, int numeroContaDeDeposito, double valorTransferencia) { var contaSaque = ConsultarContaPorNumero(numeroContaDeSaque); var contaDeposito = ConsultarContaPorNumero(numeroContaDeDeposito); contaSaque.Sacar(valorTransferencia, false); contaDeposito.Depositar(valorTransferencia, false); GravadorArquivo comprovante = new GravadorArquivo(); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "******TRANSFERÊNCIA******"); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, ""); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "CONTA SAQUE: " + contaSaque.ExibirNumero()); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "CORRENTISTA SAQUE: " + contaSaque.ExibirTitular()); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, ""); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "CONTA DEPÓSITO: " + contaDeposito.ExibirNumero()); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "CORRENTISTA DEPÓSITO: " + contaDeposito.ExibirTitular()); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, ""); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "VALOR: " + String.Format("{0:C}", valorTransferencia)); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, ""); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "Feito em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoTransf, "*************************"); comprovante.EscreverArquivo(comprovante.dirGravacao, contaSaque.arquivoLog, "OPERAÇÃO TRANSFERÊNCIA feita em " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")); return(true); }