public RegistroView() { InitializeComponent(); BindingContext = new RegistroViewModel(); }
public async Task <IActionResult> Registro(RegistroViewModel model, IFormFile foto) { if (ModelState.IsValid) { if (foto != null) { //Variavel para o diretorio da pasta Imagens string diretorioPasta = Path.Combine(_webHostEnvironment.WebRootPath, "Imagens"); //Variavel para o nome da foto string nomeFoto = Guid.NewGuid().ToString() + foto.FileName; //Salvar foto no diretorio 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; //Se o repositorio não possui registro o usario sera criado como administrador if (_usuarioRepositorio.VerificarSeExisteRegistro() == 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 _usuarioRepositorio.CriarUsuario(usuario, model.Senha); if (usuarioCriado.Succeeded) { await _usuarioRepositorio.IncluirUsuarioEmFuncao(usuario, "Administrador"); await _usuarioRepositorio.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 _usuarioRepositorio.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)); }