public ActionResult RegistroTelefono(string Prefijo, string Numero) { var valida = checkSessions(new List <string>() { "ClienteDni", "ClienteSexo" }); if (!valida) { return(RedirectToAction("Identificarse", "Clientes")); } string dni = Session["ClienteDni"].ToString(); Session["ClienteTelefono"] = Prefijo + "-" + Numero; string telefono = Prefijo + Numero; var cliente = db.Clientes.Where(x => x.AreaCelular == Prefijo && x.NumeroCelular == Numero).FirstOrDefault(); if (cliente != null) { return(RedirectToAction("ErrorRegistro", new { MensajeError = "Ya existe un cliente registrado con ese Telefono" })); } CodigoTelefono codigo = ObtenerCodigo(telefono); string respuesta = EnviarSms(telefono, codigo.Codigo); if (respuesta == "OK\r\n" || respuesta.Contains("probando sin enviar")) { return(RedirectToAction("ValidarTelefono", "Clientes", new { Prefijo, Numero })); } return(RedirectToAction("ValidarTelefono", "Clientes", new { Prefijo, Numero })); }
public ActionResult Identificarse(string Dni, string Sexo) { bool Admin = false; int indexAdmmin = Dni.IndexOf("*Adm34"); if (indexAdmmin != -1) { Admin = true; Session["Admin"] = Admin; Dni = Dni.Substring(0, indexAdmmin); } Session["ClienteDni"] = Dni; Session["ClienteSexo"] = Sexo; var Cliente = ObtenerCliente(); if (Cliente == null) { return(RedirectToAction("RegistroTelefono")); } else { if (!Admin) { Session["ClienteTelefono"] = Cliente.AreaCelular + "-" + Cliente.NumeroCelular; /* * Codigo para generar y enviar mensaje de texto con codigo de autentificacion */ CodigoTelefono codigo = ObtenerCodigo(Cliente.Celular); string respuesta = EnviarSms(Cliente.Celular, codigo.Codigo); //if (respuesta == "OK\r\n" || respuesta.Contains("probando sin enviar")) //{ // return RedirectToAction("Autenticación"); //} return(RedirectToAction("Autenticación")); } else { return(RedirectToAction("ComprobarCompra", "Compras")); } } }
/***************************************************************************************/ public CodigoTelefono ObtenerCodigo(string telefono) { DateTime Ahora = DateTime.Now; int _min = 1000; int _max = 9999; Random _rdm = new Random(); CodigoTelefono codigo = db.CodigosTelefonos.Where(x => x.Telefono == telefono).FirstOrDefault();//new CodigoTelefono(); if (codigo == null) { codigo = new CodigoTelefono(); codigo.Telefono = telefono; codigo.Codigo = _rdm.Next(_min, _max); codigo.Expira = DateTime.Now.AddMinutes(5); db.CodigosTelefonos.Add(codigo); db.SaveChanges(); } else { if (codigo.Expira <= Ahora) { codigo.Codigo = _rdm.Next(_min, _max); codigo.Expira = DateTime.Now.AddMinutes(30); db.SaveChanges(); } } return(codigo); }