Ejemplo n.º 1
0
        public async Task <ActionResult> MinhaConta(ContaMinhaContaViewModel modelo)
        {
            if (ModelState.IsValid)
            {
                var usuarioId = HttpContext.User.Identity.GetUserId();
                var usuario   = await UserManager.FindByIdAsync(usuarioId);

                usuario.NomeCompleto = modelo.NomeCompleto;
                usuario.PhoneNumber  = modelo.Celular;

                if (!usuario.PhoneNumberConfirmed)
                {
                    await EnviarSmsDeConfirmacaoAsync(usuario);
                }
                else
                {
                    usuario.TwoFactorEnabled = modelo.HabilitarAutenticacaoDeDoisFatores;
                }

                var resultadoUpdate = await UserManager.UpdateAsync(usuario);

                if (resultadoUpdate.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                AdicionaErros(resultadoUpdate);
            }
            return(View());
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> MinhaConta()
        {
            var modelo    = new ContaMinhaContaViewModel();
            var usuarioId = HttpContext.User.Identity.GetUserId();
            var usuario   = await UserManager.FindByIdAsync(usuarioId);

            modelo.NomeCompleto = usuario.NomeCompleto;
            modelo.Celular      = usuario.PhoneNumber;
            modelo.HabilitarAutenticacaoDeDoisFatores = usuario.TwoFactorEnabled;
            modelo.NumeroDeCelularConfirmado          = usuario.PhoneNumberConfirmed;
            return(View(modelo));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> MinhaConta()
        {
            var userId = _httpContextAccessor.HttpContext.User.FindFirst(
                ClaimTypes.NameIdentifier).Value;

            var usuario = await _userManager.FindByIdAsync(userId);

            var modelo = new ContaMinhaContaViewModel(
                usuario.NomeCompleto,
                usuario.PhoneNumber,
                usuario.TwoFactorEnabled,
                usuario.PhoneNumberConfirmed
                );

            return(View(modelo));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> MinhaConta(ContaMinhaContaViewModel modelo)
        {
            //System.Text.RegularExpressions.Match Match =
            //        System.Text.RegularExpressions.Regex
            //        .Match(modelo.NumeroDeCelular, @"^[1-9][1-9]{2}(?:[2-8]|[1-9])[0-9]{3}[0-9]{4}$");

            //if (!Match.Success)
            //{
            //    ModelState.AddModelError("", "Este Número de Telefone não é Válido");
            //    return View("MinhaConta", modelo);
            //}

            if (ModelState.IsValid)
            {
                var userId = _httpContextAccessor.HttpContext.User.FindFirst(
                    ClaimTypes.NameIdentifier).Value;

                var usuario = await _userManager.FindByIdAsync(userId);

                usuario.NomeCompleto = modelo.NomeCompleto;
                usuario.PhoneNumber  = modelo.NumeroDeCelular;

                //if (!usuario.PhoneNumberConfirmed)
                //    await EnviarSmsConfirmacaoAsync(usuario);
                //else
                usuario.PhoneNumberConfirmed = true;
                usuario.TwoFactorEnabled     = modelo.HabilitarAutenticacaoDeDoisFatores;

                var resultadoUpdate = await _userManager.UpdateAsync(usuario);

                if (resultadoUpdate.Succeeded)
                {
                    return(View("MinhaContaSucesso"));
                }

                AdicionaErros(resultadoUpdate);
            }
            return(View());
        }