protected void LogIn(object sender, EventArgs e)
        {
            if (IsValid)
            {
                // Valide a senha de usuário
                var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                var signinManager = Context.GetOwinContext().GetUserManager <ApplicationSignInManager>();

                // Isso não conta falhas de logon para bloqueio de conta
                // Para habilitar falhas de senha para acionar o bloqueio, mude para shouldLockout: true
                var result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: false);

                switch (result)
                {
                case SignInStatus.Success:
                    EComLivro.Logic.ShoppingCartActions usersShoppingCart = new EComLivro.Logic.ShoppingCartActions();
                    String cartId = usersShoppingCart.GetCartId();
                    usersShoppingCart.MigrateCart(cartId, Email.Text);

                    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                    break;

                case SignInStatus.LockedOut:
                    Response.Redirect("/Account/Lockout");
                    break;

                case SignInStatus.RequiresVerification:
                    Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}",
                                                    Request.QueryString["ReturnUrl"],
                                                    RememberMe.Checked),
                                      true);
                    break;

                case SignInStatus.Failure:
                default:
                    FailureText.Text     = "Tentativa de logon inválida";
                    ErrorMessage.Visible = true;
                    break;
                }
            }
        }
Exemple #2
0
        protected void CreateUser_Click(object sender, EventArgs e)
        {
            // -------------------------- DADOS PESSOAIS COMEÇO --------------------------------------
            cliente.Nome = txtNome.Text + " " + txtSobrenome.Text;
            cliente.CPF  = txtCPF.Text;

            if (!txtDtNascimento.Text.Equals(""))
            {
                string[] data = txtDtNascimento.Text.Split('-');
                cliente.DataNascimento = new DateTime(Convert.ToInt32(data[0].ToString()), Convert.ToInt32(data[1].ToString()), Convert.ToInt32(data[2].ToString()));
            }

            cliente.Genero = (dropIdGenero.SelectedValue.First());
            // -------------------------- DADOS PESSOAIS FIM --------------------------------------

            // -------------------------- DADOS CONTATO COMEÇO --------------------------------------
            //cliente.Email = txtEmail.Text;
            cliente.Email = Email.Text;

            cliente.Telefone.TipoTelefone.ID = Convert.ToInt32(dropIdTipoTelefone.SelectedValue);
            cliente.Telefone.DDD             = txtDDD.Text;
            cliente.Telefone.NumeroTelefone  = txtTelefone.Text;
            // -------------------------- DADOS CONTATO FIM --------------------------------------

            // -------------------------- DADOS ENDEREÇO COMEÇO --------------------------------------
            string nomesEndereco     = txtNomeEndereco.Text.Trim();
            string nomesDestinatario = txtNomeDestinatario.Text.Trim();
            string rua        = txtRua.Text.Trim();
            string numero     = txtNumero.Text.Trim();
            string bairro     = txtBairro.Text.Trim();
            string cep        = txtCEP.Text.Trim();
            string observacao = txtObservacao.Text.Trim();

            Endereco endereco = new Endereco();

            endereco.Nome         = nomesEndereco;
            endereco.Destinatario = nomesDestinatario;
            endereco.Rua          = rua;
            endereco.Numero       = numero;
            endereco.Bairro       = bairro;
            endereco.CEP          = cep;
            endereco.Observacao   = observacao;

            endereco.TipoResidencia.ID     = Convert.ToInt32(dropIdTipoResidencia.SelectedValue);
            endereco.TipoLogradouro.ID     = Convert.ToInt32(dropIdTipoLogradouro.SelectedValue);
            endereco.Cidade.ID             = Convert.ToInt32(dropIdCidade.SelectedValue);
            endereco.Cidade.Estado.ID      = Convert.ToInt32(dropIdEstado.SelectedValue);
            endereco.Cidade.Estado.Pais.ID = Convert.ToInt32(dropIdPais.SelectedValue);

            cliente.Enderecos.Add(endereco);
            // -------------------------- ENDEREÇO FIM --------------------------------------



            resultado = commands["SALVAR"].execute(cliente);
            if (!string.IsNullOrEmpty(resultado.Msg))
            {
                lblResultado.Visible = true;
                lblResultado.Text    = resultado.Msg;
            }
            else
            {
                var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                var signInManager = Context.GetOwinContext().Get <ApplicationSignInManager>();
                var user          = new ApplicationUser()
                {
                    UserName = Email.Text, Email = Email.Text
                };
                IdentityResult result = manager.Create(user, Password.Text);
                if (result.Succeeded)
                {
                    // Para obter mais informações sobre como habilitar a confirmação da conta e redefinição de senha, visite https://go.microsoft.com/fwlink/?LinkID=320771
                    //string code = manager.GenerateEmailConfirmationToken(user.Id);
                    //string callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Id, Request);
                    //manager.SendEmail(user.Id, "Confirme sua conta", "Confirme sua conta clicando <a href=\"" + callbackUrl + "\">aqui</a>.");

                    signInManager.SignIn(user, isPersistent: false, rememberBrowser: false);

                    using (EComLivro.Logic.ShoppingCartActions usersShoppingCart = new EComLivro.Logic.ShoppingCartActions())
                    {
                        String cartId = usersShoppingCart.GetCartId();
                        usersShoppingCart.MigrateCart(cartId, user.Id);
                    }

                    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                }
                else
                {
                    ErrorMessage.Text = result.Errors.FirstOrDefault();
                }

                //Response.Redirect("./ListaCliente.aspx");
            }
        }