public async Task <IActionResult> CadastroAutonomo(Autonomo autonomo, int drpCategorias, List <string> diasSemana, IFormFile fupImagem) { ViewBag.Categorias = new SelectList(_categoriaDAO.ListarTodos(), "CategoriaId", "Nome"); if (ModelState.IsValid) { UsuarioLogado uLogado = new UsuarioLogado { UserName = autonomo.Email, Email = autonomo.Email }; IdentityResult result = await _userManager.CreateAsync(uLogado, autonomo.Senha); if (_userManager.GetUserName(User) != null) { if (fupImagem != null) { string arquivo = Guid.NewGuid().ToString() + Path.GetExtension(fupImagem.FileName); string caminho = Path.Combine(_hosting.WebRootPath, "DijjImagens", arquivo); fupImagem.CopyTo(new FileStream(caminho, FileMode.Create)); autonomo.Imagem = arquivo; } else { autonomo.Imagem = "semautonomo.png"; } foreach (string dia in diasSemana) { if (autonomo.Agenda.Semana != null) { autonomo.Agenda.Semana += dia.ToString() + ", "; } else { autonomo.Agenda.Semana = dia.ToString() + ", "; } } autonomo.Servico.Categoria = _categoriaDAO.BuscarId(drpCategorias); if (_usuarioDAO.Alterar(autonomo)) { ModelState.AddModelError("", "Dados atualizados!"); } else { ModelState.AddModelError("", "Não foi possível atualizar os dados."); } } else { if (result.Succeeded) { string codigo = await _userManager.GenerateEmailConfirmationTokenAsync(uLogado); await _signInManager.SignInAsync(uLogado, isPersistent : false); if (fupImagem != null) { string arquivo = Guid.NewGuid().ToString() + Path.GetExtension(fupImagem.FileName); string caminho = Path.Combine(_hosting.WebRootPath, "DijjImagens", arquivo); fupImagem.CopyTo(new FileStream(caminho, FileMode.Create)); autonomo.Imagem = arquivo; } else { autonomo.Imagem = "semautonomo.png"; } foreach (string dia in diasSemana) { if (autonomo.Agenda.Semana != null) { autonomo.Agenda.Semana += dia.ToString() + ", "; } else { autonomo.Agenda.Semana = dia.ToString() + ", "; } } autonomo.Servico.Categoria = _categoriaDAO.BuscarId(drpCategorias); if (_usuarioDAO.Cadastrar(autonomo)) { return(RedirectToAction("PerfilAutonomo")); } else { ModelState.AddModelError("", "Email já cadastrado no sistema! Por favor informe um novo email."); return(View(autonomo)); } } else { AdicionarErros(result); } } } ModelState.AddModelError("", "É necessario preencher todos os dados."); return(View(autonomo)); }