public ItemsViewModel() { Title = "Browse"; int i = 0; var rnd = new Random(); while (i < 50) { var cod = "PC" + rnd.Next(0, 999); var par = new Paradero() { Codigo = cod, stop_code = cod, Texto = "lorem ipsum trololo", gtfs_id = 1, loc = new LatLng(0, 0) }; for (int j = 0; j < 7; j++) { par.Servicios.Add(new Recorrido() { Codigo = rnd.Next(0, 999).ToString(), Ida = "Providencia", Regreso = "Las Condes", Sentido = rnd.Next(1) == 0 ? Sentido.Ida : Sentido.Regreso }); } ParaderosCercanos.Add(par); i++; } }
public ActionResult DeleteConfirmed(int id) { Paradero paradero = db.Paradero.Find(id); db.Paradero.Remove(paradero); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Descripcion")] Paradero paradero) { if (ModelState.IsValid) { db.Entry(paradero).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(paradero)); }
public ActionResult Create([Bind(Include = "Id,Descripcion")] Paradero paradero) { if (ModelState.IsValid) { db.Paradero.Add(paradero); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(paradero)); }
public static List <RutaDetalle> DameDetalle(Paradero origen, Paradero destino, Linea linea) { var add = false; var list = new List <RutaDetalle>(); var insert = false; var resetAdd = false; Paradero old = null; foreach (var paradero in linea.Paraderos) { if (resetAdd) { add = false; } if (new[] { origen.Codigo, destino.Codigo }.Contains(paradero.Codigo)) { add = !add; if (add) { if (destino.Codigo == paradero.Codigo) { insert = true; } old = null; } else { resetAdd = true; add = true; } } if (add && old != null) { var detalle = insert ? new RutaDetalle { Linea = linea.Codigo, Empresa = linea.Empresa.Nombre, ParaderoOrigen = paradero, ParaderoDestino = old } : new RutaDetalle { Linea = linea.Codigo, Empresa = linea.Empresa.Nombre, ParaderoOrigen = old, ParaderoDestino = paradero }; detalle.Distancia = Distance.GetDistance(detalle.ParaderoOrigen.Coordenada, detalle.ParaderoDestino.Coordenada); if (insert) { list.Insert(0, detalle); } else { list.Add(detalle); } } old = paradero; } return(list); }
private Models.Paradero parseSingleServicio(string data, string codigoParadero) { var array = data.Split('<'); var nombreParadero = array.Where(x => x.Contains("nombre_paradero_respuesta")).First(); nombreParadero = nombreParadero.Substring(nombreParadero.IndexOf(':') + 1, nombreParadero.Length - (nombreParadero.IndexOf(':') + 1)).Trim(); var errores = array.Where(x => x.Contains("respuesta_error")); var exitos = array.Where(x => x.Contains("proximo_bus_respuesta") || x.Contains("proximo_tiempo_respuesta") || x.Contains("proximo_distancia_respuesta")); var paradero = new Paradero(); paradero.Nombre = nombreParadero; paradero.Codigo = codigoParadero; paradero.Micros = new List <Micro>(); var numServicio = CleanString(array.ElementAt(array.ToList().IndexOf(array.Where(x => x.Contains("numero_parada_respuesta")).First()) + 8)); if (exitos.Count() > 0) { for (var i = 1; i <= (exitos.Count() / 3); ++i) { var n = i * 3 - 3; paradero.Micros.Add(new Micro() { Servicio = numServicio, Mensaje = CleanString(exitos.ElementAt(n + 1)), PoseeInfo = true, Patente = CleanString(exitos.ElementAt(n)), Distancia = int.Parse(CleanString(exitos.ElementAt(n + 2)).Replace(" mts.", "")) }); } } paradero.Micros = paradero.Micros.OrderBy(x => x.Distancia).ToList(); if (errores.Count() > 0) { paradero.Micros.Add(new Micro() { Servicio = numServicio, Mensaje = CleanString(array.Where(x => x.Contains("respuesta_error")).First()), PoseeInfo = false }); } return(paradero); }
// GET: Paraderos/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Paradero paradero = db.Paradero.Find(id); if (paradero == null) { return(HttpNotFound()); } return(View(paradero)); }
private List <RutaDetalle> DameDetalle(Paradero origen, Paradero destino, Linea linea = null) { if (origen.Codigo == destino.Codigo) { return(new List <RutaDetalle>()); } Linea[] lineas; if (linea != null) { lineas = new[] { linea } } ; else { lineas = LineaBC.DameLineas(origen); } var distance = Distance.GetDistance(origen.Coordenada, destino.Coordenada); var paraderosMasCercanos = lineas .SelectMany(l => l.Paraderos.Select(p => new { Paradero = p, Linea = l, Distancia = Distance.GetDistance(p.Coordenada, destino.Coordenada) + Distance.GetDistance(p.Coordenada, origen.Coordenada) })) .Where(p => p.Paradero.Codigo != origen.Codigo && Distance.GetDistance(p.Paradero.Coordenada, destino.Coordenada) < distance) .OrderBy(p => p.Distancia) .ToArray(); if (getMinimal) { var list = new List <List <RutaDetalle> >(); foreach (var paraderoMasCercano in paraderosMasCercanos) { var rutaDetalle = DameDetalle(paraderoMasCercano.Paradero, destino); if (rutaDetalle == null) { continue; } var detalle = LineaARutaDetalle.DameDetalle(origen, paraderoMasCercano.Paradero, paraderoMasCercano.Linea); detalle.AddRange(rutaDetalle); list.Add(detalle); } return(list.OrderBy(p => p.Sum(d => d.Distancia)).First()); } else { foreach (var paraderoMasCercano in paraderosMasCercanos) { var rutaDetalle = DameDetalle(paraderoMasCercano.Paradero, destino); if (rutaDetalle == null) { continue; } var detalle = LineaARutaDetalle.DameDetalle(origen, paraderoMasCercano.Paradero, paraderoMasCercano.Linea); detalle.AddRange(rutaDetalle); return(detalle); } } return(new List <RutaDetalle>()); }
public Linea[] GetLinea(Paradero paradero) { return(lineas.Where(l => l.Paraderos.Any(p => p.Codigo == paradero.Codigo)).ToArray()); }
public Linea[] DameLineas(Paradero paradero) { return(LineaDA.GetInstance().GetLinea(paradero)); }