public HttpResponseModel Get()
        {
            var contaDao = new ContaDao();
            var conta    = contaDao.ObterConta();

            return(base.SucessoResponseModel("", conta));
        }
        public HttpResponseModel Post(RetiradaModel model)
        {
            try
            {
                var contaDao = new ContaDao();
                var conta    = contaDao.ObterConta();
                if (Convert.ToDecimal(model.Valor) > conta.Saldo)
                {
                    return(base.SucessoResponseModel("Saldo insuficiente"));
                }


                var cedulaDao    = new CedulaDao();
                var listaCedulas = cedulaDao.ListarCedulas()
                                   .Where(x => x.Disponivel == true)
                                   .OrderByDescending(x => x.Valor).ToList();

                var resultado = new ResutadoModel();
                resultado.Cedulas = new List <CedulaResutadoModel>();
                resultado         = calculaNotasParaSaque(model.Valor, 0, resultado, listaCedulas);
                if (resultado.Resto == 0)
                {
                    resultado.Saldo = conta.Saldo - Convert.ToDecimal(model.Valor);
                    return(base.SucessoResponseModel("Retitada realizada com sucesso", resultado));
                }
                else
                {
                    int valor = model.Valor == 1 ? 2 : model.Valor - resultado.Resto;
                    return(base.SucessoResponseModel(
                               string.Format("Não será possível sacar este valor com as notas disponíveis. O valor mais próximo é {0}", valor)));
                }
            }
            catch (Exception e)
            {
                return(base.ExceptionResponseModel(e, "Erro ao efetuar saque."));
            }
        }
Example #3
0
 public ContaRN()
 {
     contaDados = new ContaDao();
 }
Example #4
0
        static void Main(string[] args)
        {
            string       opcao        = null;
            Conta        conta        = new Conta();
            Movimentacao movimentacao = new Movimentacao();

            do
            {
                Console.Clear();
                Console.WriteLine("\n          ______________Folha de Pagamento_______________");
                Console.WriteLine("         |                                               |");
                Console.WriteLine("         |   1 - Cadastrar Conta                         |");
                Console.WriteLine("         |   2 - Depósito                                |");
                Console.WriteLine("         |   3 - Saque                                   |");
                Console.WriteLine("         |   4 - Extrato Bancário                        |");
                Console.WriteLine("         |   0 - Sair                                    |");
                Console.WriteLine("         |_______________________________________________|");
                Console.WriteLine("\nDigite a opção desejada: ");
                opcao = Console.ReadLine();
                switch (opcao)
                {
                case "1":
                    conta = new Conta();
                    Console.Clear();
                    Console.WriteLine(" -- Cadastrar Conta -- \n");
                    Console.WriteLine("Digite o Número da Conta: ");
                    conta.NumeroConta = Console.ReadLine();
                    Console.WriteLine("Digite o nome do Cliente: ");
                    conta.NomeCliente = Console.ReadLine();
                    Console.WriteLine("Digite o saldo inicial da Conta: ");
                    conta.SaldoInicial = Convert.ToDouble(Console.ReadLine());

                    if (ContaDao.AdicionarConta(conta) == true)
                    {
                        conta.DataAberturaConta = DateTime.Now;
                        conta.SaldoAtual        = conta.SaldoInicial;
                        Console.WriteLine("Conta Cadastrada com Sucesso!");
                    }
                    else
                    {
                        Console.WriteLine("Não foi possível adicionar a Conta!");
                    }

                    break;

                case "2":
                    conta        = new Conta();
                    movimentacao = new Movimentacao();
                    Console.Clear();
                    Console.WriteLine(" -- Depositar -- \n");
                    Console.WriteLine("Digite o Número da Conta: ");
                    conta.NumeroConta = Console.ReadLine();
                    conta             = ContaDao.BuscarContaPorNumero(conta);
                    if (conta != null)
                    {
                        Console.WriteLine("Digite o valor do Deposito: ");
                        movimentacao.ValorDeposito = Convert.ToDouble(Console.ReadLine());
                        MovimentacaoDao.Depositar(movimentacao, conta);
                        movimentacao.DataMovimentacao = DateTime.Now;
                        MovimentacaoDao.AdicionarMovimentacao(movimentacao);
                        Console.WriteLine("Depósito Realizado com Sucesso: ");
                    }
                    else
                    {
                        Console.WriteLine("Conta não encontrada!");
                    }
                    break;

                case "3":
                    conta        = new Conta();
                    movimentacao = new Movimentacao();
                    Console.Clear();
                    Console.WriteLine(" -- Sacar -- \n");
                    Console.WriteLine("Digite o Número da Conta: ");
                    conta.NumeroConta = Console.ReadLine();
                    conta             = ContaDao.BuscarContaPorNumero(conta);
                    if (conta != null)
                    {
                        Console.WriteLine("Digite o valor do Saque: ");
                        movimentacao.ValorSaque = Convert.ToDouble(Console.ReadLine());

                        if (MovimentacaoDao.(movimentacao, conta) != null)
                        {
                            movimentacao.DataMovimentacao = DateTime.Now;
                            MovimentacaoDao.AdicionarMovimentacao(movimentacao);
                            Console.WriteLine("Saque Realizado com Sucesso: ");
                        }
                        else
                        {
                            Console.WriteLine("Valor insuficiente");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Conta não encontrada!");
                    }
                    break;
 public ContaRepositorio()
 {
     this._dao        = new ContaDao();
     this._validation = new ContaValidation();
 }