Beispiel #1
0
        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());
            }
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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));
        }
Beispiel #6
0
        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));
                }
            }
        }
Beispiel #7
0
        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));
                }
            }
        }