コード例 #1
0
        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 }));
        }
コード例 #2
0
        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"));
                }
            }
        }
コード例 #3
0
        /***************************************************************************************/

        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);
        }