public async Task <IActionResult> Cadastrar(Empresa empresa, string Senha, string ConfirmacaoSenha) { if (empresa == null) { return(View()); } if (Senha == null || Senha == "") { return(View(empresa)); } if (ConfirmacaoSenha == null || ConfirmacaoSenha == "") { return(View(empresa)); } if (!(Senha.Equals(ConfirmacaoSenha))) { return(View(empresa)); } if (ModelState.IsValid) { Usuario usuario = new Usuario(); UsuarioLogado usuarioLogado = new UsuarioLogado { Email = empresa.Email, UserName = empresa.Email }; usuario.Email = empresa.Email; usuario.Senha = Senha; usuario.ConfirmacaoSenha = ConfirmacaoSenha; usuario.Tipo = true;//[Tipo: true == Empresa] usuario.Identificador = empresa.Identificador; if (_usuarioDAO.Cadastrar(usuario)) { IdentityResult result = await _userManager. CreateAsync(usuarioLogado, usuario.Senha); if (result.Succeeded) { await _signInManager.SignInAsync(usuarioLogado, isPersistent : false); if (_empresaDAO.Cadastrar(empresa)) { return(RedirectToAction("Index", empresa)); } ModelState.AddModelError("", "Este e-mail já está sendo utilizado!"); } AdicionarErros(result); } } return(View(empresa)); }