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