예제 #1
0
        public async Task <IActionResult> Cadastro(CadastroUsuarioViewModel model)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = model.ConverterParaUsuario();

                IdentityResult result = await _usuarioService.Salvar(usuario, model.Senha);

                if (result.Succeeded)
                {
                    await _usuarioService.AdicionarPermissao(usuario, "Administrador");

                    await _usuarioService.Login(usuario, false);

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    foreach (var erro in result.Errors)
                    {
                        ModelState.AddModelError("", erro.Description.ToString());
                    }
                    return(View("Cadastro"));
                }
            }
            else
            {
                return(View("Cadastro"));
            }
        }