Exemplo n.º 1
0
        public IActionResult Home(NavigationLayoutViewModel viewModel = null)
        {
            ViewData["Title"] = "Home";

            var role = HttpContext.Session.GetString("Role");

            switch (role)
            {
            case "Administrator":
                return(RedirectToAction("ControlPanel", "Administrator"));

            case "Regulator":
                return(RedirectToAction("SearchTrades", "Regulator"));

            case "Team":
                return(RedirectToAction("Reports", "Trader"));

            default:
                if (viewModel == null)
                {
                    viewModel = new NavigationLayoutViewModel();
                }

                viewModel.Login = new Login
                {
                    Role     = role,
                    Username = HttpContext.Session.GetString("Username")
                };

                ModelState.Clear();
                return(View(viewModel));
            }
        }
        public async Task <IActionResult> Login(NavigationLayoutViewModel viewModel)
        {
            if (viewModel.Username == null || viewModel.Password == null)
            {
                return(RedirectToAction("Home", "Public"));
            }

            try
            {
                var team = _teamRepository.GetAsync(int.Parse(viewModel.Username), viewModel.Password,
                                                    true);

                if (team != null)
                {
                    HttpContext.Session.SetString("Username", "team" + viewModel.Username);
                    HttpContext.Session.SetString("Role", "Team");

                    return(RedirectToAction("Reports", "Trader"));
                }
            }
            catch (Exception)
            {
                //ignore
            }

            var login = await _loginRepository.GetAsync(viewModel.Username, viewModel.Password);

            if (login == null)
            {
                return(RedirectToAction("Home", "Public"));
            }

            HttpContext.Session.SetString("Role", login.Role);
            HttpContext.Session.SetString("Username", login.Username);

            switch (login.Role)
            {
            case "Administrator":
                return(RedirectToAction("ControlPanel", "Administrator"));

            case "Broker":
                return(RedirectToAction("TradeInput", "Broker"));

            case "Regulator":
                return(RedirectToAction("SearchTrades", "Regulator"));

            default:
                return(RedirectToAction("Home", "Public"));
            }
        }