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));
        }