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;
        }
示例#3
0
        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);
        }