public void CalcularSaldoDeListaDeMovimentacoes() { var listaMovimentacoes = new List <Movimentacao>(); var numeroDeDepositos = 5; var numeroDeSaques = 3; var numeroDeTransferencias = 4; var deposito = new Deposito(500.50); for (var i = 0; i < numeroDeDepositos; i++) { listaMovimentacoes.Add(deposito); } var saque = new Saque(10.82); for (var i = 0; i < numeroDeSaques; i++) { listaMovimentacoes.Add(saque); } var transferencia = new Transferencia(50.32, "000.000.000-00"); for (var i = 0; i < numeroDeTransferencias; i++) { listaMovimentacoes.Add(transferencia); } var valorSaldoTeste = (deposito.Valor - deposito.CustoTaxaDeMovimentacao) * numeroDeDepositos + (-1 * (saque.Valor + saque.CustoTaxaDeMovimentacao)) * numeroDeSaques + (-1 * (transferencia.Valor + transferencia.CustoTaxaDeMovimentacao)) * numeroDeTransferencias; Assert.AreEqual(new CalculadoraSaldo(listaMovimentacoes).ObterSaldo(), valorSaldoTeste); }
public ProviderTransacoesBancarias() { var ccN = new ContaCorrenteNormal(); ccN.Numero = "123"; var ccE = new ContaCorrenteEspecial(); ccE.Numero = "321"; var tra1 = new Deposito(ccN, 100); tra1._dataOperacao = Convert.ToDateTime("10/10/2012"); var tra2 = new Deposito(ccE, 150); tra2._dataOperacao = Convert.ToDateTime("10/10/2012"); var tra3 = new Saque(ccN, 250); tra3._dataOperacao = Convert.ToDateTime("10/10/2012"); var tra4 = new Saque(ccE, 250); tra4._dataOperacao = Convert.ToDateTime("10/10/2012"); _session = new List <TransacoesBancarias>(); _session.Add(tra1); _session.Add(tra2); _session.Add(tra3); _session.Add(tra4); }
public void FazerOperacaoCorretamente() { var movimentacao = new Saque(100); Assert.AreEqual(movimentacao.Valor, 100); Assert.AreEqual(movimentacao.TipoEvento, TipoMovimentacao.Saque); }
public async Task <Caixa> SaqueAsync(Saque saqueDomain, Caixa caixa, string _correlationId) { try { Caixa result = null; var Query = _querySaqueBuilder.Update().Sets(caixa).WheresUpdates(caixa).Builder(); using (var con = new SqlConnection(ConnectionString)) { await con.OpenAsync(); var rows = await con.ExecuteAsync(sql : Query.Sql.ToString(), param : Query.Parameters, commandTimeout : 140, commandType : CommandType.Text); Query.Sql.Clear(); if (rows > 0) { result = caixa; } //log return(result); } } catch (Exception ex) { //log throw; } }
private void btnSacar_Click(object sender, EventArgs e) { if (_cliente.Saldo < txtSaque.Text.ToString().ToDecimal()) { MessageBox.Show("Saldo insuficiente para saque."); return; } var Saque = new Saque(); Saque.IdCliente = _cliente.Id; Saque.Valor = txtSaque.Text.ToString().ToDecimal(); var enviado = MeuBancoService.PostSaque(Saque); if (enviado) { _cliente = MeuBancoService.GetCliente(_cliente.Cpf); _cliente.Saldo -= Saque.Valor; MeuBancoService.PutCliente(_cliente); MessageBox.Show("Saque efetuado com sucesso!"); } else { MessageBox.Show("Erro ao efetuar depósito!"); } Close(); }
public SaqueTest() { // // TODO: Add constructor logic here // saque = new Saque(); }
public void testar_saque() { var conta = new ContaCorrente(); conta.Credita(1000); conta.Numero = 123; TransacaoBancaria saque = new Saque(conta, 500); saque.Executa(); Comprovante comprovante = saque.Comprovante; RepositorioTransacaoBancaria.LimparRepositorio(); RepositorioTransacaoBancaria.Adicionar(saque); Assert.Contains(saque, RepositorioTransacaoBancaria.Listar()); Saque recuperado = RepositorioTransacaoBancaria.Listar().Cast <Saque>().FirstOrDefault(); List <Saque> saques = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Saque).Name) .Cast <Saque>() .ToList(); Assert.AreEqual(saque, recuperado); }
public void Testesaquecontapremium() { Saque saque = new Saque(); string teste; //teste dos limites diarios Assert.AreEqual(5000, dados.getLimiteDiario(7777, "Sunday")); Assert.AreEqual(5000, dados.getLimiteDiario(7777, "Saturday")); Assert.AreEqual(3000, dados.getLimiteDiario(7777, "Monday")); Assert.AreEqual(3000, dados.getLimiteDiario(7777, "Tuesday")); Assert.AreEqual(3000, dados.getLimiteDiario(7777, "Wednesday")); Assert.AreEqual(3000, dados.getLimiteDiario(7777, "Thursday")); Assert.AreEqual(3000, dados.getLimiteDiario(7777, "Friday")); //teste de saque de valor negativo teste = saque.EfetuarSaque(7777, dados, -200, compartimentoDeSaque); Assert.AreEqual("Valor inválido", teste); //teste de saque de zero teste = saque.EfetuarSaque(7777, dados, 0, compartimentoDeSaque); Assert.AreEqual("Valor inválido", teste); //teste de saque de valor superior ao limite diario teste = saque.EfetuarSaque(7777, dados, 6000, compartimentoDeSaque); Assert.AreEqual("Você não possui saldo suficiente em sua conta.\n\nPor favor, escolha um valor menor.", teste); //teste de saque do dentro do limite diario teste = saque.EfetuarSaque(7777, dados, 3000, compartimentoDeSaque); Assert.AreEqual("Transação realizada.\nPor favor, retire seu dinheiro.", teste); //teste de saque apos ultrapassar o limite diario teste = saque.EfetuarSaque(7777, dados, 3000, compartimentoDeSaque); Assert.AreEqual("Valor excede o limite diário conforme o seu tipo de conta.", teste); }
public void GravarDados(int valor, int conta) { try { var conexao = ConexaoMysql.getConexao(); InsertSaque = "INSERT INTO `saque`(`VALOR`, `CONTA`, `DATAHORA`, `AUTORIZADO`) VALUES (@VALOR, @CONTA, now(), true)"; var comando = new MySqlCommand("", conexao); comando.CommandText = InsertSaque; #pragma warning disable CS0618 // Type or member is obsolete comando.Parameters.Add("@VALOR", valor); comando.Parameters.Add("@CONTA", conta); #pragma warning restore CS0618 // Type or member is obsolete var ExecutaSaque = comando.ExecuteReader(); var SaqueEfetuado = new Saque(); } catch (Exception) { throw; } finally { ConexaoMysql.fecharConexao(); } }
public ActionResult DeleteConfirmed(int id) { Saque saque = db.Saques.Find(id); db.Saques.Remove(saque); db.SaveChanges(); return(RedirectToAction("Index")); }
public void CalculaCustoOperacao() { var valor = 100.15; var taxaOperacao = 4.00; var custoCalculado = new Saque(valor).CalcularCustoOperacao(valor); Assert.AreEqual((Math.Round(valor / taxaOperacao, 2)), custoCalculado); }
public void SaqueApareceNoExtrato() { var service = new MovimentacaoService(); var movimentacao = new Saque(100.82); service.AdicionarMovimentacao(movimentacao); Assert.Contains(movimentacao, (service.ObterExtrato().ListaOperacoes).ToList()); }
public void Saque_Trinta_Duas_Notas_Vinte_Uma_Nota_Dez() { var caixaEletronico = CaixaEletronico.New(); var saque = caixaEletronico.Sacar(30); var saqueEsperado = new Saque(1, 1, 0, 0); Assert.AreEqual(saqueEsperado, saque); }
public void Saque_Oitenta_Uma_Nota_Dez_Uma_Nota_Vinte_Uma_Nota_Cinquenta() { var caixaEletronico = CaixaEletronico.New(); var saque = caixaEletronico.Sacar(80); var saqueEsperado = new Saque(1, 1, 1, 0); Assert.AreEqual(saqueEsperado, saque); }
public void Executar() { if (_conta.Status != "Bloqueado" && _conta.Saldo >= _valor) { TransacaoBancaria saque = new Saque(_conta, _valor); saque.Executa(); RepositorioTransacaoBancaria.Adicionar(saque); } }
public void RetornoDeNotas() { var saque = new Saque(1, 1, 1, 1); Assert.AreEqual(1, saque.NotasDeDez); Assert.AreEqual(1, saque.NotasDeVinte); Assert.AreEqual(1, saque.NotasDeCinquenta); Assert.AreEqual(1, saque.NotasDeCem); }
public void Executar() { if (_conta.Status != "Bloqueado" && _conta.Saldo >= _valor) { TransacaoBancaria saque = new Saque(_conta, _valor); saque.Executa(); RepositorioTransacaoBancaria.Adicionar(saque); } }
public IActionResult Create([FromBody] Saque saque) { if (saque == null) { return(BadRequest()); } _saqueRepositorio.AddSaque(saque); return(new ObjectResult(_saqueRepositorio.FindByID(saque.idSaque))); }
public ActionResult Edit([Bind(Include = "ID,ClienteID,Valor")] Saque saque) { if (ModelState.IsValid) { db.Entry(saque).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ClienteID = new SelectList(db.Clientes, "ID", "NomeCompleto", saque.ClienteID); return(View(saque)); }
public void CalcularSaldoComUmSaque() { var saque = new Saque(100.50); var listaMovimentacoes = new List <Movimentacao>(); listaMovimentacoes.Add(saque); var calculadora = new CalculadoraSaldo(listaMovimentacoes); Assert.AreEqual(calculadora.ObterSaldo(), (-1 * (saque.Valor + saque.CustoTaxaDeMovimentacao))); }
public void TestDeveriaCalcularTarifaCorretamente(decimal value, decimal expected) { var contaMock = new Mock <IContaCorrente>(); contaMock.Setup(x => x.Saldo).Returns(100); var saque = new Saque(contaMock.Object, DateTime.Now, 0, value, value); var tarifa = saque.CalcularTarifa(); Assert.Equal(expected, tarifa.Valor); }
public void SaqueSomadoNoSaldo() { var valor = 100.82; var service = new MovimentacaoService(); var saldoAntes = service.ObterExtrato().Saldo; var movimentacao = new Saque(valor); service.AdicionarMovimentacao(movimentacao); var saldoDepois = service.ObterExtrato().Saldo; Assert.AreEqual(Math.Round(saldoDepois, 2), Math.Round((saldoAntes - (movimentacao.Valor + movimentacao.CustoTaxaDeMovimentacao)), 2)); }
public JsonResult Saque(Saque saque) { try { ContaFactory.GetInstance().GetContaService().Saque(saque); return(Json(new { message = "Saque efetuado com sucesso!" })); } catch (Exception ex) { return(Json(new { message = ex.Message })); } }
public void Sacar(string value) { try { var service = new MovimentacaoService(); var evento = new Saque(this.ToDouble(value)); service.AdicionarMovimentacao(evento); } catch (Exception e) { throw new Exception("Ocorreu um erro. Favor executar a operação novamente."); } }
//Abre tela de saque de acordo com conta selecionada protected void OnBtnSaqueClicked(object sender, EventArgs e) { if (viewContas.Selection.CountSelectedRows() > 0) { TreeIter selectedConta; TreeModel model; viewContas.Selection.GetSelected(out model, out selectedConta); int pos = (int)model.GetValue(selectedConta, 0); Saque saq = new Saque(contas[pos]); saq.Show(); } }
// GET: Saques/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Saque saque = db.Saques.Find(id); if (saque == null) { return(HttpNotFound()); } return(View(saque)); }
public void CalcularSaldoParaListaDeSaques() { var numeroDeOperacoes = 2; var listaMovimentacoes = new List <Movimentacao>(); var saque = new Saque(100.50); for (var i = 0; i < numeroDeOperacoes; i++) { listaMovimentacoes.Add(saque); } var calculadora = new CalculadoraSaldo(listaMovimentacoes); Assert.AreEqual(calculadora.ObterSaldo(), ((-1 * (saque.Valor + saque.CustoTaxaDeMovimentacao)) * numeroDeOperacoes)); }
public static bool PostSaque(Saque saque) { bool ret = false; var retorno = ApiService.Http.Metodo.POST <Saque, RetornoApi <Deposito> >(saque, ref ret, $"v1/Saque"); if (retorno != null && retorno.Sucesso) { return(true); } else { MessageBox.Show(retorno != null ? retorno.Mensagem : "Erro"); return(false); } }
public static Saque ExecutarSaque(ContaCorrente conta, decimal valor) { Saque saque; if (conta.Ativa && conta.Saldo >= valor) { saque = new Saque(conta, valor); saque.Executa(); RepositorioTransacaoBancaria.Adicionar(saque); } else { throw new InvalidOperationException("Conta bloqueada ou saldo insuficiente!"); } return saque; }
public ContaPessoa GetContaSaque(string Conta, string Agencia, string Senha) { _Saque = new Saque(); var contaAcessada = _Saque.GetContaAgenciaSenha(Conta, Agencia, Senha); if (contaAcessada.handle <= 0) { throw new ContaNaoEncontradaException(); } else { return(contaAcessada); } }
// GET: Saques/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Saque saque = db.Saques.Find(id); if (saque == null) { return(HttpNotFound()); } ViewBag.ClienteID = new SelectList(db.Clientes, "ID", "NomeCompleto", saque.ClienteID); return(View(saque)); }
public void Saque(ContaCorrente contaOrigem, decimal valor) { if (contaOrigem.Status.Equals(ContaCorrente.StatusConta.Ativa.ToString())) { TransacaoBancaria transacao = new Saque(contaOrigem, valor); ValidaSaldo(contaOrigem, valor, "Saque"); transacao.Executa(); } else { throw new Exception("Conta não está ativa"); } }
public static void Adicionar(Saque saque) { saques.Add(saque); }