public IActionResult LoginPage(string LoginUser, string PasswordUser) { var findUser = repo.FindUser(LoginUser); if (findUser == null) { @ViewData["LoginError"] = "User not found - Try another login"; return(View()); } else if (findUser.LoginUser == LoginUser && findUser.PasswordUser == PasswordUser) { var user = new UserAccount { LoginUser = findUser.LoginUser, PasswordUser = findUser.PasswordUser, CodUser = findUser.CodUser, BalanceAccount = findUser.BalanceAccount, UserName = findUser.UserName }; var cashValue = new ValoresNotas(); cashValue.User = user; HttpContext.Session.SetObjectAsJson("User", user); return(RedirectToAction("Index")); } else { ViewData["LoginError"] = "Incorrect Password"; return(View()); } }
public IActionResult Index() { var user = HttpContext.Session.GetObjectFromJson <UserAccount>("User"); var testModelo = new ValoresNotas() { N100 = 0, N50 = 0, N20 = 0, N10 = 0, N5 = 0, N2 = 0, SaldoFinal = user.BalanceAccount, Valid = "Aguardando Transações!" }; return(View(testModelo)); }
private IEnumerable <Moeda> CalculaMoedas() { var moedas = new List <Moeda>(); foreach (var valorMoeda in ValoresNotas.RetornaValoresMoedas()) { if (Troco >= valorMoeda) { //calcula numero de moedas com um valor x, ex: 2 moedas de 100 long quantMoedas = (long)(Troco / valorMoeda); //loop para add na lista a quantidades de moedas com o valor x, ex: add na lista 2 moedas de 100 Parallel.For(0, quantMoedas, (index) => moedas.Add(new Moeda(valorMoeda))); //subtrai do valor do troco Troco = Troco - quantMoedas * valorMoeda; } } return(moedas); }
private IEnumerable <Cedula> CalculaCedulas() { var cedulas = new List <Cedula>(); foreach (var valorCedula in ValoresNotas.RetornaValoresCedulas()) { if (Troco >= valorCedula) { //calcula numero de cedulas com um valor x, ex: 2 cédulas de 100 long quantCedulas = (long)(Troco / valorCedula); //loop para add na lista a quantidades de cédulas com o valor x, ex: add na lista 2 cédulas de 100 Parallel.For(0, quantCedulas, (index) => cedulas.Add(new Cedula(valorCedula))); //subtrai do valor do troco Troco = Troco - quantCedulas * valorCedula; } } return(cedulas); }
public JsonResult DepositaValor(string valorDep) { //Criar e gerenciar a sessão com os dados do Saldo! var deposito = valorDep; int depositarValor = Convert.ToInt32(deposito); var user = HttpContext.Session.GetObjectFromJson <UserAccount>("User"); //Refazer lógica para acrescentar os dados do DB var depositoSaque = new ValoresNotas { SaldoFinal = user.BalanceAccount + depositarValor }; user.BalanceAccount = depositoSaque.SaldoFinal; HttpContext.Session.SetObjectAsJson("Saldo", depositoSaque.SaldoFinal); repo.Update(user.CodUser, depositoSaque.SaldoFinal); HttpContext.Session.SetObjectAsJson("User", user); return(Json(depositoSaque)); }
public ActionResult CalculaSaque(string ValorSaque) { var testSaque = ValorSaque; int value; if (testSaque == "") { value = 0; } else { value = Convert.ToInt32(testSaque); } int testAttValor; if (value == 0) { testAttValor = 0; } else { testAttValor = value; } //Apenas ilustrativo / para se ter uma noção se o deposito funfa var testeDeposito = new Deposito() { SaldoTotal = 10000 }; bool saqueAprovado = testeDeposito.VerificaSaldo(value); if (saqueAprovado == false) { //Mostrar ao usuario que o saldo é insuficiente. return(View()); } else { int nota100 = 0; int nota50 = 0; int nota20 = 0; int nota10 = 0; int nota5 = 0; int nota2 = 0; if (value % 2 != 0 && value > 5) { value -= 5; nota5 += 1; } nota100 = value / 100; nota50 = (value % 100) / 50; nota20 = ((value % 100) % 50) / 20; nota10 = (((value % 100) % 50) % 20) / 10; nota2 = (((((value % 100) % 50) % 20) % 10) / 2); value = (value - ((100 * nota100) + (50 * nota50) + (20 * nota20) + (10 * nota10) + (2 * nota2))); if (value == 0) { var testModelo = new ValoresNotas() { N100 = nota100, N50 = nota50, N20 = nota20, N10 = nota10, N5 = nota5, N2 = nota2, SaldoFinal = testeDeposito.AtualizaSaldo(testAttValor) }; //Retirar Valor do Saque do Saldo total e Atualizar na tela. return(View(testModelo)); } else { var testModelo = new ValoresNotas() { Valid = "O saque é inválido" }; return(View(testModelo)); } } }
public JsonResult CalculaSaque(string valorSaq) { var testSaque = valorSaq; var user = HttpContext.Session.GetObjectFromJson <UserAccount>("User"); int value; if (testSaque == "" || testSaque == null) { value = 0; } else { value = Convert.ToInt32(testSaque); } int testAttValor; if (value == 0) { testAttValor = 0; } else { testAttValor = value; } bool saqueAprovado; if (value > user.BalanceAccount) { saqueAprovado = false; } else { saqueAprovado = true; } if (saqueAprovado == false) { //Mostrar ao usuario que o saldo é insuficiente. var saldoInsuficiente = new ValoresNotas() { SaldoFinal = user.BalanceAccount, Valid = "Saldo Insuficiente" }; return(Json(saldoInsuficiente)); } else { int nota100 = 0; int nota50 = 0; int nota20 = 0; int nota10 = 0; int nota5 = 0; int nota2 = 0; if (value % 2 != 0 && value > 5) { value -= 5; nota5 += 1; } nota100 = value / 100; nota50 = (value % 100) / 50; nota20 = ((value % 100) % 50) / 20; nota10 = (((value % 100) % 50) % 20) / 10; nota2 = (((((value % 100) % 50) % 20) % 10) / 2); value = (value - ((100 * nota100) + (50 * nota50) + (20 * nota20) + (10 * nota10) + (2 * nota2))); if (value == 0) { var testModelo = new ValoresNotas() { N100 = nota100, N50 = nota50, N20 = nota20, N10 = nota10, N5 = nota5, N2 = nota2, SaldoFinal = user.BalanceAccount - testAttValor, Valid = "Saque efetuado com sucesso" }; user.BalanceAccount = testModelo.SaldoFinal; HttpContext.Session.SetObjectAsJson("Saldo", testModelo.SaldoFinal); repo.Update(user.CodUser, testModelo.SaldoFinal); HttpContext.Session.SetObjectAsJson("User", user); return(Json(testModelo)); } else { var testModelo = new ValoresNotas() { SaldoFinal = user.BalanceAccount, Valid = "Valor inválido, notas indisponiveis" }; return(Json(testModelo)); } } }