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.")); } }
public ContaRN() { contaDados = new ContaDao(); }
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(); }