예제 #1
0
        public async Task <IActionResult> Entrar(EntrarViewModel model)
        {
            Logger.LogInformation("Login inicio e-mail: {Email}", model.Email);

            if (ModelState.IsValid)
            {
                if (!SignInManager.IsSignedIn(User))
                {
                    var result = await this.SignInManager.PasswordSignInAsync(model.Email, model.Senha, model.ManterConectado, true);

                    if (result.Succeeded)
                    {
                        return(RedirectToAction(nameof(SiteController.Index), "Site"));
                    }
                    else if (result.IsLockedOut)
                    {
                        return(RedirectToAction(nameof(Bloqueio)));
                    }
                    else if (result.RequiresTwoFactor)
                    {
                    }
                    else if (result.IsNotAllowed)
                    {
                    }
                    else
                    {
                        ModelState.AddModelError("", "Seus dados estão incorreto, por favor tente novamente.");
                    }
                }
            }

            return(View());
        }
예제 #2
0
        public IActionResult Entrar(EntrarViewModel entrarViewModel)
        {
            ViewData["Title"] = "Entrar";

            if (ModelState.IsValid)
            {
                var retorno = _usuarioAppService.AutentificarUsuario(entrarViewModel.Nm_email, entrarViewModel.Nm_senha);

                ViewBag.Codigo   = retorno.cdretorno;
                ViewBag.Mensagem = retorno.mensagem;

                //se sucesso redireciono
                if (retorno.cdretorno == 0 && retorno.usuario != null)
                {
                    //Armazenando dados do usuário em sessão
                    HttpContext.Session.SetString("Cd_usuario", JsonConvert.SerializeObject(retorno.usuario));
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                //erro
                ViewBag.Mensagem = "Dados Inválidos!";
                ViewBag.Codigo   = 1;
            }

            return(View(entrarViewModel));
        }
예제 #3
0
 public EntrarView()
 {
     InitializeComponent();
     BindingContext = new EntrarViewModel();
     NavigationPage.SetHasBackButton(this, true);
     NavigationPage.SetHasNavigationBar(this, true);
     ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.FromHex("#C65F4A");
 }
예제 #4
0
        public EntrarPage()
        {
            InitializeComponent();

            BindingContext = viewModel = new EntrarViewModel(this);

            txtEmail.Completed += (object sender, EventArgs e) =>
            {
                txtSenha.Focus();
            };
            txtSenha.Completed += (object sender, EventArgs e) =>
            {
                viewModel.EntrarCommand.Execute(null);
            };
        }
예제 #5
0
        public IActionResult Entrar([Bind("Login,Senha")] EntrarViewModel entrarViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(NotFound());
            }

            Dictionary <string, string> loginDictionary = new Dictionary <string, string>();

            loginDictionary["Login"] = entrarViewModel.Login;
            loginDictionary["Senha"] = entrarViewModel.Senha;

            HttpResponseMessage response = _httpClient
                                           .PostAsJsonAsync(_httpClient.BaseAddress + $"/usuarios/login/", loginDictionary)
                                           .Result;

            if (!response.IsSuccessStatusCode)
            {
                ViewBag.mensagemErro = "Não foi possível entrar na conta";
                return(RedirectToAction(nameof(Entrar)));
            }

            Usuario usuario = new Usuario();

            usuario = response.Content.ReadAsAsync <Usuario>().Result;
            HttpContext.Session.SetInt32("UsuarioId", usuario.UsuarioId);
            HttpContext.Session.SetString("Login", usuario.Login);
            HttpContext.Session.SetString("Senha", usuario.Senha);
            HttpContext.Session.SetString("Nome", usuario.Nome);
            HttpContext.Session.SetString("Nivel", usuario.Nivel);

            if (usuario.ClienteId != null)
            {
                HttpContext.Session.SetInt32("ClienteId", Convert.ToInt32(usuario.ClienteId));
            }

            if (usuario.FuncionarioId != null)
            {
                HttpContext.Session.SetInt32("FuncionarioId", Convert.ToInt32(usuario.FuncionarioId));
            }

            return(RedirectToAction("index", "chamados"));
        }
예제 #6
0
 public EntrarView()
 {
     InitializeComponent();
     email.Completed += (s, e) => senha.Focus();
     BindingContext   = new EntrarViewModel();
 }