Exemplo n.º 1
0
 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 />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "Seu Login e Senha foram criados e seguem abaixo: <br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "Login = <b>" + Cliente.LOGIN.ToString() + "</b>.<br /><br />" +
                 "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                 "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);
 }
Exemplo n.º 2
0
 //
 // 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);
 }