public ActionResult CreateStepOne([Bind(Exclude = "VerificacaoEmail, CodigoAtivacao")] Usuario usuario) { #region //try //{ // if (Session["User"] == null) { // Session["User"] = usuario; // } // return RedirectToAction("CreateStepTwo", "Usuario"); //} #endregion try { bool Status = false; string mensagem = ""; //Validação do modelo if (ModelState.IsValid) { var checkEmail = usuarioServico.GetUsuariosByEmail().FirstOrDefault(e => e.Email == usuario.Email); var checkCpf = usuarioServico.GetUsuariosByCpf().FirstOrDefault(e => e.Cpf == usuario.Cpf); if (checkEmail == null && checkCpf == null) { #region Gerar código de ativação Random random = new Random(); string numeroAleatorio = string.Empty; for (int i = 0; i < 6; i++) { numeroAleatorio += random.Next(0, 10).ToString(); } usuario.CodigoAtivacao = numeroAleatorio; #endregion #region Criptografia de senha usuario.Senha = Crypto.Hash(usuario.Senha); usuario.ConfirmarSenha = Crypto.Hash(usuario.ConfirmarSenha); #endregion #region Validação de campos usuario.Telefone = Regex.Replace(usuario.Telefone, @"[^0-9a-zA-Z]+", "", RegexOptions.None, TimeSpan.FromSeconds(1.5)); usuario.Cpf = Regex.Replace(usuario.Cpf, @"[^0-9a-zA-Z]+", "", RegexOptions.None, TimeSpan.FromSeconds(1.5)); #endregion usuario.VerificacaoEmail = false; #region Salvar no banco de dados //usuarioServico.SaveUsuario(usuario); #endregion #region Enviar email de validação EnviarEmail(usuario.Email, usuario.CodigoAtivacao); #endregion } else { if (checkEmail != null) { ModelState.AddModelError("EmailExistente", "● Email inserido já cadastrado"); } if (checkCpf != null) { ModelState.AddModelError("CPFExistente", "● CPF inserido já cadastrado"); } return(View()); } mensagem = "Conta registrada com sucesso. Um email de ativação foi enviada para você."; Status = true; } else { mensagem = "Requisição inválida."; return(View()); } ViewBag.Message = mensagem; ViewBag.Status = Status; Session["User"] = usuario; return(RedirectToAction("CreateStepTwo", "Cadastro")); } catch { return(View()); } }