public TrayectoSugerido CrearSegundoTrayecto(Direccion origen, Direccion destino, DateTime? fechaDesde, DateTime? fechaHasta) { // Normalmente esto implicaría llamadas a la base de datos // Para simplificar el patrón vamos a utilizar datos hardcodeados var tiposTramo = BuscarTiposTramo(); var trayectoSugerido = new TrayectoSugerido(); trayectoSugerido.Trayecto = new Trayecto(); trayectoSugerido.Trayecto.Origen = origen; trayectoSugerido.Trayecto.Destino = destino; trayectoSugerido.FechaHoraInicio = fechaDesde.Value; trayectoSugerido.DistanciaACaminar = 67; trayectoSugerido.DuracionTotalEstimada = 49; trayectoSugerido.Tramos.Add(new Tramo { Distancia = 22, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = origen, UbicacionLlegada = new Direccion { Calle = "General perón 354", Nro = 11 }, TipoTramo = tiposTramo["walk"] }); trayectoSugerido.Tramos.Add(new Tramo { Distancia = 900, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = trayectoSugerido.Tramos[0].UbicacionLlegada, UbicacionLlegada = new Direccion { Calle = "29 de abril", Nro = 11 }, TipoTramo = tiposTramo["bus"] }); trayectoSugerido.Tramos.Add(new Tramo { Distancia = 1400, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = trayectoSugerido.Tramos[1].UbicacionLlegada, UbicacionLlegada = new Direccion { Calle = "Octavio Pintos", Nro = 456 }, TipoTramo = tiposTramo["trole"] }); trayectoSugerido.Tramos.Add(new Tramo { Distancia = 929, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = trayectoSugerido.Tramos[2].UbicacionLlegada, UbicacionLlegada = new Direccion { Calle = "Ing. Martinez", Nro = 994 }, TipoTramo = tiposTramo["walk"] }); return trayectoSugerido; }
public RouteViewModel Map(TrayectoSugerido trayectoSugerido) { var route = new RouteViewModel(); route.Start = trayectoSugerido.FechaHoraInicio.ToString("hh:mm"); route.End = trayectoSugerido.FechaHoraInicio.AddMinutes(trayectoSugerido.DuracionTotalEstimada).ToString("hh:mm"); route.TotalTime = trayectoSugerido.DuracionTotalEstimada; route.WalkDistance = trayectoSugerido.DistanciaACaminar; foreach (var tramo in trayectoSugerido.Tramos) { var part = new RoutePartViewModel(); part.Name = GetPartName(tramo); part.Additional = GetAdditional(tramo); part.Instruction = GetPartInstruction(tramo); part.Time = tramo.HoraSalida.Hours.ToString() + ":" + tramo.HoraSalida.Minutes; part.Type = tramo.TipoTramo.Nombre; part.Distance = tramo.Distancia; part.Duration = tramo.Duracion; route.Parts.Add(part); } return route; }
private TrayectoSugerido CrearPrimerTrayecto(Direccion origen, Direccion destino, DateTime?fechaDesde, DateTime?fechaHasta) { // Normalmente esto implicaría llamadas a la base de datos // Para simplificar el patrón vamos a utilizar datos hardcodeados var tiposTramo = BuscarTiposTramo(); var trayectoSugerido = new TrayectoSugerido(); trayectoSugerido.Trayecto = new Trayecto(); trayectoSugerido.Trayecto.Origen = origen; trayectoSugerido.Trayecto.Destino = destino; trayectoSugerido.FechaHoraInicio = fechaDesde.Value; trayectoSugerido.DistanciaACaminar = 22; trayectoSugerido.DuracionTotalEstimada = 44; trayectoSugerido.Tramos.Add(new Tramo { Distancia = 22, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = origen, UbicacionLlegada = new Direccion { Calle = "General Paez", Nro = 222 }, TipoTramo = tiposTramo["walk"] }); trayectoSugerido.Tramos.Add(new Tramo { Distancia = 900, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = trayectoSugerido.Tramos[0].UbicacionLlegada, UbicacionLlegada = new Direccion { Calle = "29 de abril", Nro = 11 }, TipoTramo = tiposTramo["bus"] }); trayectoSugerido.Tramos.Add(new Tramo { Distancia = 1400, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = trayectoSugerido.Tramos[1].UbicacionLlegada, UbicacionLlegada = new Direccion { Calle = "Octavio Pintos", Nro = 456 }, TipoTramo = tiposTramo["trole"] }); trayectoSugerido.Tramos.Add(new Tramo { Distancia = 929, HoraSalida = new TimeSpan(fechaDesde.Value.Hour, fechaDesde.Value.Minute, fechaDesde.Value.Second), Orden = 1, UbicacionSalida = trayectoSugerido.Tramos[2].UbicacionLlegada, UbicacionLlegada = new Direccion { Calle = "Ing. Martinez", Nro = 994 }, TipoTramo = tiposTramo["walk"] }); return(trayectoSugerido); }