Exemplo n.º 1
0
        public void TestInserir()
        {
            ClienteBusiness clienteBusiness = new ClienteBusiness();
            CartaoBusiness  cartaoBusiness  = new CartaoBusiness();
            ContaBusiness   contaBusiness   = new ContaBusiness();

            cliente.Cartao = cartao;
            cliente.Cartao.DataValidade = DateTime.Now;
            cartaoBusiness.Inserir(cliente.Cartao);

            conta.Saldo = 1000;
            contaBusiness.Inserir(conta);

            cliente.Nome      = "Joao";
            cliente.RG        = "37749564-x";
            cliente.Sobrenome = "Da Silva";
            cliente.Idade     = 103;
            cliente.CPF       = "00000000001";
            cliente.IdCartao  = cartao.Id;
            cliente.IdConta   = conta.Id;

            clienteBusiness.Inserir(cliente);

            Assert.IsTrue(cartao.Id > 0);
        }
        public async Task <IActionResult> Post([FromBody] GraphQLQuery query)
        {
            ContaBusiness business = new ContaBusiness();
            var           inputs   = query.Variables.ToInputs();

            var schema = new Schema()
            {
                Query    = new ContaCorrenteQuery(business),
                Mutation = new ContaCorrenteMutation(business)
            };

            var result = await new DocumentExecuter().ExecuteAsync(_ =>
            {
                _.Schema        = schema;
                _.Query         = query.Query;
                _.OperationName = query.OperationName;
                _.Inputs        = inputs;
            }).ConfigureAwait(false);

            if (result.Errors?.Count > 0)
            {
                return(BadRequest(result.Errors));
            }

            return(Ok(result.Data));
        }
Exemplo n.º 3
0
        protected void btnGravar_Click(object sender, EventArgs e)
        {
            ClienteBusiness clienteBusiness = new ClienteBusiness();
            ClienteModel    cliente         = new ClienteModel();

            CartaoBusiness cartaoBusiness = new CartaoBusiness();
            CartaoModel    cartao         = new CartaoModel();

            cartao.DataValidade = DateTime.Now.AddYears(5);
            cartaoBusiness.Inserir(cartao);

            ContaBusiness contaBusiness = new ContaBusiness();
            ContaModel    conta         = new ContaModel();

            conta.Saldo = 202013401;
            contaBusiness.Inserir(conta);

            cliente.Nome      = txtNome.Text;
            cliente.Sobrenome = txtSobrenome.Text;
            cliente.CPF       = txtCPF.Text;
            cliente.Idade     = Convert.ToInt32(txtIdade.Text);
            cliente.RG        = txtRG.Text;
            cliente.IdCartao  = cartao.Id;
            cliente.IdConta   = conta.Id;

            clienteBusiness.Inserir(cliente);
        }
Exemplo n.º 4
0
        public void Debitar(int value, int id)
        {
            ContaBusiness   contaBusiness   = new ContaBusiness();
            ClienteBusiness clienteBusiness = new ClienteBusiness();
            ClienteModel    cliente         = clienteBusiness.Buscar(id);

            contaBusiness.Debitar(cliente.Conta, value);
        }
Exemplo n.º 5
0
        public ContaCorrenteMutation(ContaBusiness business)
        {
            _business = business;

            Name = "Mutation";
            Field <ContaCorrenteType>("sacar",
                                      arguments: new QueryArguments(new QueryArgument[]
            {
                new QueryArgument <IntGraphType> {
                    Name = "conta"
                },
                new QueryArgument <FloatGraphType> {
                    Name = "valor"
                }
            }),
                                      resolve: contexto =>
            {
                int numeroConta = contexto.GetArgument <int>("conta");
                double valor    = contexto.GetArgument <int>("valor");

                Conta conta = _business.ObtemContaPorNumero(numeroConta);
                if (conta.Saldo > valor)
                {
                    conta.Saldo -= valor;
                    _business.AtualizarConta(conta);
                    return(conta);
                }
                else
                {
                    contexto.Errors.Add(new ExecutionError("Saldo insuficiente"));
                    return(null);
                }
            }
                                      );

            Field <ContaCorrenteType>("depositar",
                                      arguments: new QueryArguments(new QueryArgument[]
            {
                new QueryArgument <IntGraphType> {
                    Name = "conta"
                },
                new QueryArgument <FloatGraphType> {
                    Name = "valor"
                }
            }),
                                      resolve: contexto =>
            {
                int numeroConta = contexto.GetArgument <int>("conta");
                double valor    = contexto.GetArgument <int>("valor");

                Conta conta = _business.ObtemContaPorNumero(numeroConta);

                conta.Saldo += valor;
                _business.AtualizarConta(conta);
                return(conta);
            }
                                      );
        }
Exemplo n.º 6
0
        public void ContaDeveInserirELogoAposExcluirRegistro()
        {
            Cliente             cliente         = new Cliente();
            IBusiness <Cliente> clienteBusiness = new ClienteBusiness();

            cliente.Cpf = "234234234";
            cliente.DataDeNascimento = DateTime.Now;
            cliente.Endereco         = "sdfasdf";
            cliente.Nome             = "Edilson";

            clienteBusiness.Inserir(cliente);
            Assert.IsNotNull(cliente.Id);

            Cliente cliRetorno = clienteBusiness.BuscarPorId(cliente.Id);

            Assert.IsTrue(cliRetorno.Id > 0);


            IBusiness <Conta> contaBusiness = new ContaBusiness();

            var novaConta = new Conta
            {
                IdCliente = cliRetorno.Id,
                Saldo     = Convert.ToDecimal(5000.04),
                Senha     = "1234"
            };

            contaBusiness.Inserir(novaConta);

            var contaResult = contaBusiness.BuscarPorId(novaConta.Id);

            Assert.IsTrue(contaResult.Id > 0);

            contaBusiness.Excluir(contaResult.Id);

            contaResult = contaBusiness.BuscarPorId(novaConta.Id);

            Assert.IsNull(contaResult);

            clienteBusiness.Excluir(cliRetorno.Id);

            var clienteResult = clienteBusiness.BuscarPorId(cliRetorno.Id);

            Assert.IsNull(clienteResult);
        }
        public ContaCorrenteQuery(ContaBusiness business)
        {
            _business = business;

            Field <ListGraphType <ContaCorrenteType> >("saldo",
                                                       arguments: new QueryArguments(new QueryArgument[]
            {
                new QueryArgument <IntGraphType> {
                    Name = "conta"
                }
            }),
                                                       resolve: contexto =>
            {
                int numeroConta = contexto.GetArgument <int>("conta");
                return(_business.RetornaConta(numeroConta));
            }
                                                       );
        }
Exemplo n.º 8
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            Cliente         cliente  = new Cliente();
            ClienteBusiness business = new ClienteBusiness();

            cliente.Cpf              = txtCpf.Text;
            cliente.Nome             = txtNome.Text;
            cliente.DataDeNascimento = cldData.SelectedDate;
            cliente.Endereco         = txtEndereco.Text;

            business.Inserir(cliente);

            lblConfirmacao.ForeColor = Color.Red;
            lblConfirmacao.Text      = "ERRO AO INSERIR CLIENTE";

            if (cliente.Id != 0)
            {
                Conta conta = new Conta();
                conta.IdCliente = cliente.Id;
                conta.Saldo     = 5000;
                conta.Senha     = "1234";

                ContaBusiness contaBusiness = new ContaBusiness();
                contaBusiness.Inserir(conta);
                if (conta.Id != 0)
                {
                    Cartao cartao = new Cartao();
                    cartao.IdCliente    = cliente.Id;
                    cartao.IdConta      = conta.Id;
                    cartao.LimiteCartao = 10000;

                    CartaoBusiness cartaoBusiness = new CartaoBusiness();
                    cartaoBusiness.Inserir(cartao);

                    if (cartao.Id != 0)
                    {
                        lblConfirmacao.ForeColor = Color.Green;
                        lblConfirmacao.Text      = "CLIENTE CADASTRADO COM SUCESSO";
                    }
                }
            }
        }
Exemplo n.º 9
0
        public void CadastraContas()
        {
            Dictionary <int, double> dictContas = new Dictionary <int, double>();

            dictContas.Add(54321, 800.00);
            dictContas.Add(12345, 600.00);
            dictContas.Add(11111, 700.00);

            foreach (KeyValuePair <int, double> kvp in dictContas)
            {
                Conta conta = new Conta()
                {
                    NumeroConta = kvp.Key,
                    Saldo       = kvp.Value
                };

                ContaBusiness business = new ContaBusiness();
                business.CadastrarConta(conta);
            }
        }
Exemplo n.º 10
0
        protected void btnSacar_Click(object sender, EventArgs e)
        {
            ContaBusiness contaBusiness = new ContaBusiness();
            CaixaBusiness caixaBusiness = new CaixaBusiness();
            Conta         conta         = contaBusiness.BuscarPorId(int.Parse(txtNumero.Text));

            if (conta == null)
            {
                lblResultadoDoSaque.Text = "Conta Inexistente";
            }

            else if (caixaBusiness.Sacar(conta, int.Parse(txtValor.Text)))
            {
                lblResultadoDoSaque.Text = "Saque efetuado!";
            }

            else
            {
                lblResultadoDoSaque.Text = "Falha ao sacar";
            }
        }
Exemplo n.º 11
0
        protected void btnGravar_Click(object sender, EventArgs e)
        {
            SerasaWebService.SerasaSoapClient serasaValidator = new SerasaWebService.SerasaSoapClient();
            if (serasaValidator.ValidarCPF(txtCPF.Text))
            {
                ClienteBusiness clienteBusiness = new ClienteBusiness();
                ClienteModel    cliente         = new ClienteModel();

                CartaoBusiness cartaoBusiness = new CartaoBusiness();
                CartaoModel    cartao         = new CartaoModel();
                cartao.DataValidade = DateTime.Now.AddYears(5);
                cartaoBusiness.Inserir(cartao);

                ContaBusiness contaBusiness = new ContaBusiness();
                ContaModel    conta         = new ContaModel();
                conta.Saldo = 202013401;
                contaBusiness.Inserir(conta);

                cliente.Nome      = txtNome.Text;
                cliente.Sobrenome = txtSobrenome.Text;
                cliente.CPF       = txtCPF.Text;
                cliente.Idade     = Convert.ToInt32(txtIdade.Text);
                cliente.RG        = txtRG.Text;
                cliente.IdCartao  = cartao.Id;
                cliente.IdConta   = conta.Id;

                clienteBusiness.Inserir(cliente);
                lblMensagem.Text = "Cliente cadastrado com sucesso!";
                lblMensagem.Style.Add("color", "green");
            }
            else
            {
                lblMensagem.Style.Add("color", "red");
                lblMensagem.Text = "CPF Inválido";
            }
        }
Exemplo n.º 12
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            Dictionary <int, double> dictContas = new Dictionary <int, double>();

            dictContas.Add(54321, 800.00);
            dictContas.Add(12345, 600.00);
            dictContas.Add(11111, 700.00);

            foreach (KeyValuePair <int, double> kvp in dictContas)
            {
                Conta conta = new Conta()
                {
                    NumeroConta = kvp.Key,
                    Saldo       = kvp.Value
                };

                ContaBusiness business = new ContaBusiness();
                business.CadastrarConta(conta);
            }
        }
Exemplo n.º 13
0
 public void Init()
 {
     contaBusiness = new ContaBusiness();
     conta         = new ContaModel();
 }