Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            TimeSlotCollection timeSlotCollection = new TimeSlotCollection();
            List <TimeSpan>    slots = timeSlotCollection.elementsList;

            Console.Write("Time: ");
            for (int i = 0; i < slots.Count; i++)
            {
                Console.Write(slots[i].ToString(@"hh\:mm") + " ");
            }
            Console.WriteLine();

            Console.Write("Time slots shown: ");
            int slotsToShow = Convert.ToInt32(Console.ReadLine());

            Console.Write("Customer reques: "); //HH:MM format
            TimeSpan customerRequestTime = TimeSpan.Parse(Console.ReadLine());

            int index = slots.FindIndex(a => a.Hours == customerRequestTime.Hours && a.Minutes == customerRequestTime.Minutes);


            DisplaySlots(timeSlotCollection, index, slotsToShow);

            Console.ReadKey();
        }
Ejemplo n.º 2
0
        public static void DisplaySlots(TimeSlotCollection collection, int index, int slotsToShow)
        {
            collection.position = index;
            Console.Write(collection.Current.ToString(@"hh\:mm") + ' ');

            for (int i = 1; i < slotsToShow / 2 + 1; i++)
            {
                collection.position -= i;
                if (collection.position >= 0 && collection.position < collection.elementInRow - 1)
                {
                    Console.Write(collection.Current.ToString(@"hh\:mm") + ' ');
                }
                else
                {
                    slotsToShow++;
                }
                collection.position += i * 2;
                if (collection.position >= 0 && collection.position < collection.elementInRow - 1)
                {
                    Console.Write(collection.Current.ToString(@"hh\:mm") + ' ');
                }
                else
                {
                    slotsToShow++;
                }

                collection.Reset(index);
            }
        }