Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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"));
            }
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }