예제 #1
0
        public IHttpActionResult Registrarse()
        {
            string urla = ConfigurationManager.AppSettings["UrlSitio"];

            TanoNEEntities ctx = new TanoNEEntities();

            var form = HttpContext.Current.Request.Form;


            string email    = form["mail"];
            string nombres  = form["nombres"];
            string telefono = form["telefono"];
            string password = form["password"];
            int    comuna   = int.Parse(form["comuna"]);
            string token    = form["token"];

            Vecinos vecino = ctx.Vecinos.FirstOrDefault(a => a.correo == email);

            if (vecino == null)
            {
                vecino             = new Vecinos();
                vecino.correo      = email;
                vecino.nombres     = nombres;
                vecino.telefono    = telefono;
                vecino.contrasena  = InicioController.GetCrypt(password);
                vecino.comuna      = comuna;
                vecino.fechaCreado = DateTime.Now;
                vecino.token       = token;

                List <string> hashes = ctx.Vecinos.Select(a => a.hash).ToList();
                string        hash   = InicioController.RandomString(25);
                while (hashes.Contains(hash))
                {
                    hash = InicioController.RandomString(25);
                }

                vecino.hash = hash;
                ctx.Vecinos.Add(vecino);


                using (MailMessage mail = new MailMessage())
                {
                    //string datos = "Datos para entrar:<br/>Usuario: " + email;
                    string datos = "Datos para entrar:<br/>Usuario: " + email + " Contraseña :" + password;
                    mail.From = new MailAddress("*****@*****.**", "Economía Social y Solidaria");
                    mail.To.Add(email);
                    mail.Subject    = "Economia Social y Solidaria -- Nuevo Encuentro";
                    mail.Body       = "<p>Gracias por usar nuestro sistema. Hacé click en el link de abajo para activar la cuenta</p>";
                    mail.Body      += "<p><a href='" + urla + "Inicio/ActivarCuenta?k=" + hash + "'>Activar Cuenta</a></p>";
                    mail.Body      += "<p>-------------------</p><p><p>" + datos + "</p><p>-------------------</p>";
                    mail.IsBodyHtml = true;

                    using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
                    //using (SmtpClient smtp = new SmtpClient("smtp.encuentrocapital.com.ar", 587))
                    {
                        // smtp.Credentials = new NetworkCredential("*****@*****.**", "kapanga34224389,");
                        smtp.Credentials = new NetworkCredential("*****@*****.**", "Frent3355");
                        smtp.EnableSsl   = true;
                        smtp.Send(mail);
                    }
                }

                ctx.SaveChanges();

                return(Json(new { respuesta = "Te enviamos un mail para activar la cuenta" }));
            }
            else
            {
                return(Json(new { error = "Ya existe el usuario" }));
            }
        }
예제 #2
0
        public IHttpActionResult Usuario() // string correo, string pass)
        {
            TanoNEEntities ctx = new TanoNEEntities();

            var form = HttpContext.Current.Request.Form;

            string correo = form["correo"];
            string pass   = form["pass"];
            string token  = form["token"];

            Vecinos vecino = ctx.Vecinos.FirstOrDefault(a => a.correo == correo);

            if (vecino != null)
            {
                if (!vecino.verificado)
                {
                    return(Json(new { Error = "Hay que verificar la cuenta. Revisá tu mail" }));
                }

                pass = InicioController.GetCrypt(pass);
                if (vecino.contrasena == pass)
                {
                    if (vecino.token == null)
                    {
                        foreach (Alertas alerta in ctx.Alertas.Where(a => a.android))
                        {
                            vecino.AlertasVecinxs.Add(new AlertasVecinxs {
                                Alertas = alerta
                            });
                        }
                    }
                    vecino.token = token;
                    ctx.SaveChanges();

                    EstadosCompra EstadoEntregado = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 1);
                    EstadosCompra confirmado      = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 3);
                    EstadosCompra comentado       = ctx.EstadosCompra.FirstOrDefault(a => a.codigo == 4);

                    //Precios ultimop = prod.Precios.Count > 1 ? prod.Precios.LastOrDefault(a => a.fecha.Date <= actual.fechaAbierto.Date) : prod.Precios.FirstOrDefault();


                    var json = ctx.Compras.Where(a => a.vecinoId == vecino.idVecino).OrderByDescending(a => a.fecha).ToList().Select(a => new
                    {
                        idCompra  = a.idCompra,
                        estado    = a.EstadosCompra.nombre,
                        fecha     = a.fecha.ToString("hh:mm dd/MM/yyyy"),
                        idLocal   = a.Locales.idLocal,
                        local     = a.Locales.direccion,
                        barrio    = a.Locales.barrio,
                        editar    = a.estadoId == EstadoEntregado.idEstadoCompra,
                        comentar  = a.estadoId == confirmado.idEstadoCompra,
                        comentado = a.estadoId == comentado.idEstadoCompra,
                        comuna    = a.Locales.comuna,
                        productos = a.CompraProducto.ToList().Select(b => new
                        {
                            idProducto   = b.Productos.idProducto,
                            nombre       = b.Productos.producto,
                            marca        = b.Productos.marca,
                            presentacion = b.Productos.presentacion,
                            cantidad     = b.cantidad,
                            comentado    = a.ComentariosProducto.FirstOrDefault(c => c.productoId == b.productoId) != null, // a.Comentarios.Count == 1 ? a.Comentarios.FirstOrDefault().ComentariosProducto.FirstOrDefault(cp => cp.productoId == b.productoId).Productos != null : false,
                            precioUnidad = b.Precios.precio                                                                 //.Precios.Count > 1 ? b.Productos.Precios.LastOrDefault(precio => a.fecha.Date >= precio.fecha.Date).precio : b.Productos.Precios.FirstOrDefault().precio,
                        })
                    }).ToList();

                    var jsonvecino = new
                    {
                        idVecino = vecino.idVecino,
                        nombre   = vecino.nombres,
                        telefono = vecino.telefono,
                        comuna   = vecino.comuna
                    };

                    return(Json(new { Historico = json, Vecino = jsonvecino }));
                }
                else
                {
                    return(Json(new { Error = "Contraseña incorrecta" }));
                }
            }
            else
            {
                return(Json(new { Error = "No existe el usuario, para usar la plataforma es necesario registrarse " }));
            }
        }