Ejemplo n.º 1
0
        public void GenerateDelivery(StreetSpecification specification)
        {
            DeliveryRoute = specification.Houses;
            var previousWasEven = false;

            for (var i = 0; i < specification.Houses.Count; i++)
            {
                if (specification.Houses[i] % 2 == 0)
                {
                    // if we have just started we don't want to count our starting road as crossing over
                    if (!previousWasEven && i != 0)
                    {
                        CrossingRoadCount++;
                    }

                    previousWasEven = true;
                }
                else
                {
                    // if we have just started we don't want to count our starting road as crossing over
                    if (previousWasEven && i != 0)
                    {
                        CrossingRoadCount++;
                    }

                    previousWasEven = false;
                }
            }
        }
        public void GenerateDelivery(StreetSpecification specification)
        {
            CrossingRoadCount = 1;

            var deliveryRoute = specification.LeftHouses.ToList();

            deliveryRoute.AddRange(specification.RightHouses.OrderByDescending(h => h));

            DeliveryRoute = deliveryRoute;
        }