public ActionResult Registro(Cliente Cliente) { //Verificar se Login já existe no sistema e informar ao usuário para que o mesmo possa cadastrar outro cliente user = db.clientes.FirstOrDefault(u => u.LOGIN.ToLower() == Cliente.LOGIN.ToLower()); // Checa se usuário não existe para continuar a inserção if (user == null) { //Retirar não numéricos do CPF string Cliente_CPF = Util.RemoveNaoNumericos(Cliente.CPF); //Acrescentar checagem se CPF já existe cadastrado com alguem /* Entrar com essa checagem futuramente em outra versão com recuperação de Login por email automatico user = db.clientes.FirstOrDefault(u => u.CPF.ToLower() == Cliente_CPF.ToLower()); if (user != null) { ModelState.AddModelError("", "CPF já se encontra cadastrado no Reclame Agora!"); } */ //Acrescentar checagem se senha é igual a confirma senha if (Cliente.SENHA != Cliente.CONFIRMASENHA) { ModelState.AddModelError("", "Campos Senha e Confirmar Senha não podem ser diferentes!"); } if (!Cliente.auxpoliticauso) { ModelState.AddModelError("", "Para Registrar-se é necessário marcar o check acordando com os Termos de Uso do Reclame Agora."); } //Checa se o formulário está válido antes de gravar if (ModelState.IsValid) { Cliente.INFORMACOES = "Usuário marcou o check \"Li e estou de acordo com os termos de uso do Reclame Agora.\" em : " + DateTime.Now.ToString(); //Todo Novo cliente por Default é setado para o Grupo "NOR" de "Normal" Cliente.TIPOCLIENTE = "NOR"; //Criptografar senha e confirmasenha antes de enviar a banco string texto = Cliente.SENHA; string senhaemail = Cliente.SENHA; //Está chave tem que ser a mesma que a do texto Encriptado. string key = "Criptografia"; Criptografia.Criptografia crip = new Criptografia.Criptografia(CryptProvider.DES); crip.Key = key; Cliente.SENHA = crip.Encrypt(texto); Cliente.CONFIRMASENHA = Cliente.SENHA; //Fim da criptografia //Retirar não numéricos do CEP. string Cliente_CEP = Util.RemoveNaoNumericos(Cliente.CEP); //Convertendo o objeto personalizado "Cliente" para o objeto criado automáticamente no modelo "cliente" cliente novocliente = ConverteCliente.Createcliente(Cliente.IDCLIENTE, Cliente.NOME, Cliente.EMAIL, Cliente.LOGIN, Cliente.SENHA, Cliente.CONFIRMASENHA, Cliente_CEP, Cliente_CPF, Cliente.RG, Cliente.ENDERECO, Cliente.IDCIDADE, Cliente.ESTADO, Cliente.INFORMACOES, Cliente.NASCIMENTO, Cliente.TIPOCLIENTE, Cliente.FONEFIXO, Cliente.FONECELULAR); //Assim o objeto de banco de dados não gera erro ao adicionar o objeto no banco para salvar db.clientes.AddObject(novocliente); db.SaveChanges(); //Início Chamada Enviar E-mail ao Cliente com seu Login e Senha SendMail.EnviaEmail(Cliente.EMAIL, Cliente.NOME, "Criação de Login e Senha do ReclameAgora", "Prezado(a) <span color:Blue><b>" + Cliente.NOME.ToString() + "</b></span>,<br /><br />" + " " + "Seu Login e Senha foram criados e seguem abaixo: <br /><br />" + " " + "Login = <b>" + Cliente.LOGIN.ToString() + "</b>.<br /><br />" + " " + "Senha = <b>" + senhaemail.ToString() + "</b>.<br /><br />" + "<a href=\"http://reclameagora.apphb.com/Login\" title=\"ReclameAgora\"> http://reclameagora.apphb.com/Login</a> <br /><br />" + "Atenciosamente,<br />" + "Equipe ReclameAgora"); //Fim da Chamada Enviar E-mail //Armazenar no dicionário de dados TempData que trabalha por trás do objeto de sessão. //Assim posso passar dados entre Actions no mesmo controlador TempData["msgLogin"] = "******" + Cliente.LOGIN + " Cadastrado com Sucesso e enviado para seu email! Faça o Login e Registre sua Reclamação."; return RedirectToAction("Index"); } } else { ModelState.AddModelError("", "Login já existe no Reclame Agora. Favor criar um Login diferente."); } ViewBag.ESTADO = new SelectList(EstadoRepositorio.ListaEstados(), "Value", "Text"); ViewBag.IDCIDADE = new SelectList(db.cidades.ToList().FindAll(x => x.IDESTADO == Cliente.ESTADO), "IDCIDADE", "NOMECIDADE", Cliente.IDCIDADE); return View(Cliente); }
// // GET: /Login/Registro/ public ActionResult Registro(string name) { ViewBag.ESTADO = new SelectList(EstadoRepositorio.ListaEstados(), "Value", "Text"); ViewBag.IDCIDADE = new SelectList(string.Empty, "IDCIDADE", "NOMECIDADE"); Cliente Cliente = new Cliente(); Cliente.INFORMACOES = Cliente.politicauso(); return View(Cliente); }