public async Task <IActionResult> Registrar(RegistroViewModel model, IFormFile foto) { if (ModelState.IsValid) { if (foto != null) { string diretorioPasta = Path.Combine(_webHostEnvironment.WebRootPath, "imagens"); string nomeFoto = Guid.NewGuid().ToString() + foto.FileName; using (FileStream fileStream = new FileStream(Path.Combine(diretorioPasta, nomeFoto), FileMode.Create)) { await foto.CopyToAsync(fileStream); model.Foto = "~/Imagens/" + nomeFoto; } } Usuario usuario = new Usuario(); IdentityResult usuarioCriado; if (_repo.VerificarSeExisteUsuario() == 0) { usuario.UserName = model.Nome; usuario.CPF = model.CPF; usuario.Email = model.Email; usuario.PhoneNumber = model.Telefone; usuario.Foto = model.Foto; usuario.PrimeiroAcesso = false; usuario.Status = StatusConta.Aprovado; usuarioCriado = await _repo.CriarUsuario(usuario, model.Senha); if (usuarioCriado.Succeeded) { await _repo.AddUsuarioRole(usuario, "Administrador"); await _repo.LogarUsuario(usuario, false); return(RedirectToAction("Index", "Usuario")); } } usuario.UserName = model.Nome; usuario.CPF = model.CPF; usuario.Email = model.Email; usuario.PhoneNumber = model.Telefone; usuario.Foto = model.Foto; usuario.PrimeiroAcesso = true; usuario.Status = StatusConta.Analisando; usuarioCriado = await _repo.CriarUsuario(usuario, model.Senha); if (usuarioCriado.Succeeded) { return(View("Analise", usuario.UserName)); } else { foreach (IdentityError erro in usuarioCriado.Errors) { ModelState.AddModelError("", erro.Description); } return(View(model)); } } return(View(model)); }