Example #1
0
        public TravelRoadmap BuildTravelRoadmap(City initial, City destination)
        {
            TravelRoadmap        travelRoadmap  = new TravelRoadmap(initial, destination);
            List <TransportMode> Modes          = new List <TransportMode>();
            DistanceHelper       distanceHelper = new DistanceHelper();

            if (distanceHelper.GetDistance(initial, destination).Equals(Distance.Short))
            {
                Modes.Add(TransportMode.Foot);
                Modes.Add(TransportMode.Car);
                Modes.Add(TransportMode.Train);
                travelRoadmap.Modes = Modes;
            }
            else if (distanceHelper.GetDistance(initial, destination).Equals(Distance.Medium))
            {
                Modes.Add(TransportMode.Plane);
                Modes.Add(TransportMode.Car);
                Modes.Add(TransportMode.Train);
                travelRoadmap.Modes = Modes;
            }
            else
            {
                Modes.Add(TransportMode.Boat);
                Modes.Add(TransportMode.Plane);
                travelRoadmap.Modes = Modes;
            }

            return(travelRoadmap);
        }
Example #2
0
        public TravelRoadmap BuildTravelRoadmap(City initial, City destination)
        {
            TravelRoadmap        travelRoadmap = new TravelRoadmap();
            List <TransportMode> listModes     = new List <TransportMode>();

            DistanceHelper distanceHelper = new DistanceHelper();

            switch (distanceHelper.GetDistance(initial, destination))
            {
            case Distance.Short:
                listModes.Add(TransportMode.Foot);
                listModes.Add(TransportMode.Car);
                listModes.Add(TransportMode.Train);
                break;

            case Distance.Medium:
                listModes.Add(TransportMode.Car);
                listModes.Add(TransportMode.Train);
                listModes.Add(TransportMode.Plane);
                break;

            case Distance.Long:
                listModes.Add(TransportMode.Boat);
                listModes.Add(TransportMode.Plane);
                break;
            }

            travelRoadmap.Modes = listModes;

            return(travelRoadmap);
        }
Example #3
0
        public TravelRoadmap BuildTravelRoadmap(City initial, City destination)
        {
            TravelRoadmap travelRoadmap = new TravelRoadmap();
            var           result        = new List <TransportMode>();

            //if (initial.Equals(destination))
            //{
            //    result.Add(TransportMode.Foot);
            //    result.Add(TransportMode.Car);
            //    result.Add(TransportMode.Train);
            //}
            //else if (initial.Equals(City.Sydney) || destination.Equals(City.Sydney))
            //{
            //    result.Add(TransportMode.Boat);
            //    result.Add(TransportMode.Plane);
            //}
            //else
            //{
            //    result.Add(TransportMode.Plane);
            //    result.Add(TransportMode.Car);
            //    result.Add(TransportMode.Train);
            //}

            switch (initial)
            {
            case City.Barcelona:
                switch (destination)
                {
                case City.Barcelona:
                    result.Add(TransportMode.Foot);
                    result.Add(TransportMode.Car);
                    result.Add(TransportMode.Train);
                    break;

                case City.London:
                    result.Add(TransportMode.Plane);
                    result.Add(TransportMode.Car);
                    result.Add(TransportMode.Train);
                    break;

                case City.Sydney:
                    result.Add(TransportMode.Boat);
                    result.Add(TransportMode.Plane);
                    break;

                default:
                    throw new Exception("Not implemented");
                }
                break;

            case City.London:
                switch (destination)
                {
                case City.Barcelona:
                    result.Add(TransportMode.Plane);
                    result.Add(TransportMode.Car);
                    result.Add(TransportMode.Train);
                    break;

                case City.London:
                    result.Add(TransportMode.Foot);
                    result.Add(TransportMode.Car);
                    result.Add(TransportMode.Train);
                    break;

                case City.Sydney:
                    result.Add(TransportMode.Boat);
                    result.Add(TransportMode.Plane);
                    break;

                default:
                    throw new Exception("Not implemented");
                }
                break;

            case City.Sydney:
                switch (destination)
                {
                case City.Barcelona:
                    result.Add(TransportMode.Boat);
                    result.Add(TransportMode.Plane);
                    break;

                case City.London:
                    result.Add(TransportMode.Boat);
                    result.Add(TransportMode.Plane);
                    break;

                case City.Sydney:
                    result.Add(TransportMode.Foot);
                    result.Add(TransportMode.Car);
                    result.Add(TransportMode.Train);
                    break;

                default:
                    throw new Exception("Not implemented");
                }
                break;

            default:
                throw new Exception("Not implemented");
            }
            travelRoadmap.Modes = result;
            return(travelRoadmap);
        }