示例#1
0
        public async Task <IActionResult> CadastroPaciente(Paciente p)
        {
            if (ModelState.IsValid)
            {
                if (p.Id != 0)
                {
                    _pacienteDAO.AlterarPaciente(p);
                    return(RedirectToAction("MenuPrincipalPaciente", "Paciente"));
                }
                else
                {
                    UsuarioLogado usuarioLogado = new UsuarioLogado
                    {
                        UserName    = p.Login,
                        PhoneNumber = p.Senha
                    };
                    IdentityResult result = await _userManager.CreateAsync(usuarioLogado, p.Senha);

                    if (result.Succeeded)
                    {
                        await _signInManager.SignInAsync(usuarioLogado, isPersistent : false);

                        if (_pacienteDAO.CadastrarPaciente(p))
                        {
                            return(RedirectToAction("MenuPrincipalPaciente"));
                        }
                        await _signInManager.SignOutAsync();

                        ModelState.AddModelError("", "Este login já está sendo utilizado");
                    }
                    AdicionarErros(result);
                }
            }
            return(View(p));
        }