Esempio n. 1
0
        public Task <ContaDTO> VerificarContaExisteAtivaAsync(ContaDTO conta)
        {
            var contaExiste = listaContas.FindAll(c => c.Numero == conta.Numero);

            if (contaExiste.Count > 0)
            {
                return(Task.FromResult(contaExiste.FirstOrDefault()));
            }

            return(Task.FromResult(new ContaDTO()));
        }
        public void Post(ContaDTO Conta)
        {
            _conexaoBancoDados.ExecutarProcedure("InsConta");
            _conexaoBancoDados.AddParametro("@Num_Conta", Conta.NumeroConta);
            _conexaoBancoDados.AddParametro("@Nom_Nome", Conta.Nome);
            _conexaoBancoDados.AddParametro("@Num_Saldo", Conta.Saldo);
            _conexaoBancoDados.AddParametro("@Date_DataCriacao", Conta.DataCriacao);
            _conexaoBancoDados.AddParametro("@Num_TipoConta", Conta.TipoConta);

            _conexaoBancoDados.ExecutarSemRetorno();
        }
Esempio n. 3
0
        public ContaDTO Contas()
        {
            ContaDTO contas = new ContaDTO()
            {
                CpfCli         = 39422492828,
                NumeroContaCli = 234,
                SaldoConta     = 6000
            };

            return(contas);
        }
Esempio n. 4
0
        public Task <decimal> VerificarSaldoAsync(ContaDTO conta)
        {
            var contaExiste = listaContas.FindAll(c => c.Numero == conta.Numero && c.Ativa == true);

            if (contaExiste.Count > 0)
            {
                return(Task.FromResult(contaExiste.FirstOrDefault().Saldo));
            }

            return(Task.FromResult(0m));
        }
Esempio n. 5
0
 public IHttpActionResult Post([FromBody] ContaDTO Conta)
 {
     try
     {
         _contaRepository.Post(Conta);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest("Erro ao inserir conta: " + ex.Message));
     }
 }
Esempio n. 6
0
        private static void Depositar()
        {
            Console.Write("Digite o número da conta: ");
            int indiceConta = int.Parse(Console.ReadLine());

            Console.Write("Digite o valor a ser depositado: ");
            double valorDeposito = double.Parse(Console.ReadLine());

            ContaDTO conta = ContaApp.Depositar(indiceConta, valorDeposito);

            Console.WriteLine("Saldo atual da conta de {0} é {1}", conta.Nome, conta.Saldo);
        }
 public async Task GetConta(int idConta)
 {
     try
     {
         ContaService service = new ContaService();
         Conta = await service.GetSingle(idConta);
     }
     catch (Exception)
     {
         throw;
     }
 }
Esempio n. 8
0
 public IHttpActionResult Put(ContaDTO Conta)
 {
     try
     {
         _contaRepository.Put(Conta);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest("Erro ao atualizar conta: " + ex.Message));
     }
 }
        public bool ValidarInformacoes(ContaDTO conta, ContaDTO contaDestino)
        {
            var contaUsario = _commonDbContext.Contas.Where(x => x.NumeroContaCli == conta.NumeroContaCli).FirstOrDefault();

            var contaDestinataria = _commonDbContext.Contas.Where(x => x.NumeroContaCli == contaDestino.NumeroContaCli).FirstOrDefault();

            if (contaUsario == null || contaDestinataria == null)
            {
                return(false);
            }
            return(true);
        }
Esempio n. 10
0
        // Método para criar uma conta no serviço
        public async Task <ContaViewModel> SalvarContaAsync(ContaViewModel model)
        {
            // Transforma o ContaViewModel em ContaDTO para enviar ao serviço
            ContaDTO dto = ParseToDTO(model);

            // Faz a chamada no serviço e recebe o retorno na variável DTO
            dto = await Post <ContaDTO>("cliente/new", dto);

            // Transforma o DTO recebido do serviço em ViewModel para uso no app
            ContaViewModel contaVM = ParseToVM(dto);

            return(contaVM);
        }
Esempio n. 11
0
        public void Inserir(ContaDTO dto)
        {
            string descricao = dto.Descricao;

            descricao.Trim();
            descricao.Replace("'", "''").Replace("  ", " ");

            banco = new AcessoBancoDados();
            banco.Conectar();
            string comando = "INSERT INTO conta(desc_conta) VALUES('" + descricao + "')";

            banco.ExecutarComandoSql(comando);
        }
Esempio n. 12
0
        public ContaDTO Contas()
        {
            ContaDTO contas = new ContaDTO()
            {
                AgenciaContaCli = 2020,
                BancoContaCli   = 341,
                CpfCli          = 12345678900,
                NumeroContaCli  = 20203411,
                SaldoConta      = 1000
            };

            return(contas);
        }
Esempio n. 13
0
        public void Atulaizar(ContaDTO dto)
        {
            string descricao = dto.Descricao;

            descricao.Trim();
            descricao.Replace("'", "''").Replace("  ", " ");

            banco = new AcessoBancoDados();
            banco.Conectar();
            string comando = "UPDATE conta SET desc_conta = '" + descricao + "' WHERE id = '" + dto.Id + "'";

            banco.ExecutarComandoSql(comando);
        }
        public void OperacoesBancariasController_SacarExceptionTest()
        {
            ContaDTO conta      = new ContaDTO();
            decimal  valorSacar = 1000;

            mockService.Setup(x => x.Sacar(It.IsAny <ContaDTO>(), It.IsAny <decimal>()))
            .Throws(new Exception("Internal server error"));

            IActionResult result   = controller.Sacar(conta, valorSacar);
            var           okResult = result as OkObjectResult;

            Retorno contentResult = (Retorno)okResult.Value;
        }
Esempio n. 15
0
        /// <summary>
        /// Lista de conta "mock"
        /// </summary>
        private void popularLista()
        {
            for (int i = 0; i < 8; i++)
            {
                var conta = new ContaDTO();
                conta.Ativa  = true;
                conta.Id     = i;
                conta.Numero = $"000{i}";
                conta.Tipo   = Tipo.Corrente;
                conta.Saldo  = 100.00m;

                listaContas.Add(conta);
            }
        }
Esempio n. 16
0
        public void GerarJson()
        {
            HashSet <Posicao> posicoes = new HashSet <Posicao>()
            {
                new Posicao("QL", "Qualquer", "Campo")
            };
            ContaDTO conta = new ContaDTO()
            {
                NomeCompletoPeladeiro = "alan", PosicoesPeladeiro = posicoes
            };
            var output = JsonConvert.SerializeObject(conta);

            Console.Write(output);
        }
Esempio n. 17
0
        public async Task Insercao_DeveAplicarJurosCorretamente()
        {
            var conta = new ContaDTO()
            {
                Nome           = "Conta Teste",
                DataVencimento = DateTime.Today,
                DataPagamento  = DateTime.Today.AddDays(10),
                ValorOriginal  = 100.0m
            };

            await _contaBLL.PostAsync(conta);

            Assert.True(conta.QtdDiasAtraso == 10 && conta.ValorCorrigido == 102m && conta.Id != Guid.Empty);
        }
        public void ExceptionDepositar()
        {
            ContaDTO conta          = new ContaDTO();
            decimal  valorDepositar = 200;


            mockService.Setup(x => x.Depositar(It.IsAny <ContaDTO>(), It.IsAny <decimal>()))
            .Throws(new Exception("Internal server error"));

            IActionResult result   = controller.Depositar(conta, valorDepositar);
            var           okResult = result as OkObjectResult;

            Retorno contentResult = (Retorno)okResult.Value;
        }
        public ContaDTO ListarUsuario(long cpf)
        {
            ContaDTO conta = new ContaDTO();

            var clienteBanco = _commonDbContext.Clientes.Where(x => x.CpfCli == cpf).FirstOrDefault();
            var contaUsario  = _commonDbContext.Contas.Where(x => x.CpfCliente == cpf).FirstOrDefault();

            conta.AgenciaContaCli = contaUsario.Agencia;
            conta.BancoContaCli   = contaUsario.Banco;
            conta.NumeroContaCli  = contaUsario.NumeroContaCli;
            conta.SaldoConta      = contaUsario.SaldoConta.ToString().Length < 12 ? Convert.ToDecimal(contaUsario.SaldoConta.ToString().PadRight(12, '0')) : contaUsario.SaldoConta;
            conta.Nome_Cliente    = clienteBanco.Nome_Cliente.Length < 40 ? clienteBanco.Nome_Cliente.PadRight(40, ' ') : clienteBanco.Nome_Cliente;
            conta.CpfCli          = contaUsario.CpfCliente;

            return(conta);
        }
        public ContaDTO ListarUsuario(long cpf, int senha)
        {
            ContaDTO conta = new ContaDTO();

            if (this.Login(cpf, senha))
            {
                var contaUsario = _commonDbContext.Contas.Where(x => x.CpfCliente == cpf && x.SenhaConta == senha).FirstOrDefault();

                conta.CpfCli         = contaUsario.CpfCliente;
                conta.NumeroContaCli = contaUsario.NumeroContaCli;
                conta.SaldoConta     = contaUsario.SaldoConta;

                return(conta);
            }
            return(conta);
        }
Esempio n. 21
0
        // Método para obter uma conta no serviço
        public async Task <ContaViewModel> ObterContaAsync(AcessarViewModel model)
        {
            // Objeto que será enviado como parâmetro ao serviço
            AcessoDTO acesso = new AcessoDTO( )
            {
                Email = model.Email,
                Senha = model.Senha
            };

            // Chamada ao método para realização de um HTTP Post enviando o AcessoDTO como paâmetro
            ContaDTO dto = await Post <ContaDTO>("cliente", acesso);

            // Transforma o DTO recebido do serviço em ViewModel para uso no app
            ContaViewModel contaVM = ParseToVM(dto);

            return(contaVM);
        }
        public ActionResult Depositar([FromBody] ContaDTO conta, decimal valorDepositar)
        {
            try
            {
                var result = _operacoesService.Depositar(conta, valorDepositar);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new Retorno()
                {
                    Codigo = 500,
                    Mensagem = ex.Message
                }));
            }
        }
        public OperacaoDTO Sacar(ContaDTO conta, decimal valorSacar)
        {
            var caixaEletronico = _commonDbContext.Caixas.FirstOrDefault();

            var contaUsuario = _commonDbContext.Contas.Where(x => x.NumeroContaCli == conta.NumeroContaCli).FirstOrDefault();

            OperacaoDTO operacao = new OperacaoDTO();

            if (_caixaEletronicoDAO.ValidarSaque(valorSacar, contaUsuario, caixaEletronico))
            {
                contaUsuario.SaldoConta -= valorSacar;
                conta.SaldoConta         = contaUsuario.SaldoConta;

                _commonDbContext.Update(contaUsuario);
                _commonDbContext.Update(caixaEletronico);
                _commonDbContext.SaveChanges();

                operacao.Conta     = conta;
                operacao.Realizada = true;

                var notasParaSaque = _caixaEletronicoDAO.RetornarNotasNecessarias(valorSacar);

                caixaEletronico.NotasCem         -= notasParaSaque[0];
                caixaEletronico.NotasCinquenta   -= notasParaSaque[1];
                caixaEletronico.NotasVinte       -= notasParaSaque[2];
                caixaEletronico.NotasCem         -= notasParaSaque[3];
                caixaEletronico.Valor_Disponivel -= valorSacar;

                contaUsuario.SaldoConta -= valorSacar;
                conta.SaldoConta         = contaUsuario.SaldoConta;

                _commonDbContext.Update(contaUsuario);
                _commonDbContext.Update(caixaEletronico);
                _commonDbContext.SaveChanges();

                operacao.NotasUtilizadas = new int[4] {
                    notasParaSaque[0], notasParaSaque[1], notasParaSaque[2], notasParaSaque[3]
                };
                operacao.ValorSacado = valorSacar;
                operacao.Conta       = conta;
                operacao.Realizada   = true;

                return(operacao);
            }
            return(operacao);
        }
        public bool Depositar(ContaDTO conta, decimal valorDepositar)
        {
            var contaUsario = _commonDbContext.Contas.Where(x => x.NumeroContaCli == conta.NumeroContaCli && x.CpfCliente == conta.CpfCli).FirstOrDefault();

            var caixaEletronico = _commonDbContext.Caixas.FirstOrDefault();


            caixaEletronico.Valor_Disponivel += valorDepositar;

            contaUsario.SaldoConta += valorDepositar;

            _commonDbContext.Update(contaUsario);
            _commonDbContext.Update(caixaEletronico);

            _commonDbContext.SaveChanges();

            return(true);
        }
        public void ContaDTOTeste()
        {
            var obj = new ContaDTO()
            {
                AgenciaContaCli = 2020,
                BancoContaCli   = 341,
                CpfCli          = 123456787900,
                NumeroContaCli  = 20203411,
                SaldoConta      = 1000,
                Nome_Cliente    = "Teste"
            };

            Assert.AreEqual(2020, obj.AgenciaContaCli);
            Assert.AreEqual(341, obj.BancoContaCli);
            Assert.AreEqual(123456787900, obj.CpfCli);
            Assert.AreEqual(20203411, obj.NumeroContaCli);
            Assert.AreEqual(1000, obj.SaldoConta);
            Assert.AreEqual("Teste", obj.Nome_Cliente);
        }
Esempio n. 26
0
        private static void Sacar()
        {
            Console.Write("Digite o número da conta: ");
            int indiceConta = int.Parse(Console.ReadLine());

            Console.Write("Digite o valor a ser sacado: ");
            double valorSaque = double.Parse(Console.ReadLine());

            bool sacar = ContaApp.Sacar(indiceConta, valorSaque);

            if (!sacar)
            {
                Console.WriteLine("Saldo insuficiente!");
            }
            else
            {
                ContaDTO conta = ContaApp.ObterConta(indiceConta);
                Console.WriteLine("Saldo atual da conta de {0} é {1}", conta.Nome, conta.Saldo);
            }
        }
Esempio n. 27
0
        private void popularLista()
        {
            var conta = new ContaDTO();

            conta.Ativa  = true;
            conta.Id     = 1;
            conta.Numero = "0001";
            conta.Tipo   = Tipo.Corrente;
            conta.Saldo  = 100;

            var contaNova = new ContaDTO();

            contaNova.Ativa  = true;
            contaNova.Id     = 2;
            contaNova.Numero = "0002";
            contaNova.Tipo   = Tipo.Corrente;
            contaNova.Saldo  = 200;

            listaContas.Add(conta);
            listaContas.Add(contaNova);
        }
Esempio n. 28
0
        private void CalcularValoresAtraso(ContaDTO conta)
        {
            if (conta.DataPagamento <= conta.DataVencimento)
            {
                conta.QtdDiasAtraso  = 0;
                conta.ValorCorrigido = conta.ValorOriginal;
                return;
            }

            conta.QtdDiasAtraso = (conta.DataPagamento - conta.DataVencimento).Days;
            var atraso = _contaAtrasoDAO.Get(conta.QtdDiasAtraso);

            if (atraso == null)
            {
                conta.ValorCorrigido = conta.ValorOriginal;
                return;
            }

            var valorComMulta = conta.ValorOriginal + (conta.ValorOriginal * (atraso.PorcentagemMulta / 100));

            conta.ValorCorrigido = Math.Round(valorComMulta + (conta.ValorOriginal * (conta.QtdDiasAtraso * (atraso.JurosPorDia / 100))), 2);
        }
Esempio n. 29
0
        public void TesteListarUsuario()
        {
            ContaDTO conta = new ContaDTO();

            mockService.Setup(x => x.ListarUsuario(It.IsAny <long>(), It.IsAny <int>()))
            .Returns(new Retorno()
            {
                Codigo   = 200,
                Data     = JsonConvert.SerializeObject(conta),
                Mensagem = "Consulta efetuada com sucesso."
            });

            IActionResult result = controller.ListarUsuario(It.IsAny <long>(), It.IsAny <int>());

            var okResult = result as OkObjectResult;

            Retorno contentResult = (Retorno)okResult.Value;

            Assert.AreEqual(contentResult.Codigo, 200);
            Assert.AreEqual(contentResult.Mensagem, "Consulta efetuada com sucesso.");
            Assert.IsNotNull(contentResult.Data);
        }
        public void OperacoesBancariasController_SacarTest()
        {
            ContaDTO    conta      = new ContaDTO();
            OperacaoDTO operacao   = new OperacaoDTO();
            decimal     valorSacar = 1000;

            mockService.Setup(x => x.Sacar(It.IsAny <ContaDTO>(), It.IsAny <decimal>()))
            .Returns(new Retorno()
            {
                Codigo   = 200,
                Data     = JsonConvert.SerializeObject(operacao),
                Mensagem = "Saque realizado com sucesso."
            });

            IActionResult result   = controller.Sacar(conta, valorSacar);
            var           okResult = result as OkObjectResult;

            Retorno contentResult = (Retorno)okResult.Value;

            Assert.AreEqual(contentResult.Codigo, 200);
            Assert.AreEqual(contentResult.Mensagem, "Saque realizado com sucesso.");
            Assert.IsNotNull(contentResult.Data);
        }