Exemplo n.º 1
0
        /// <summary>
        /// Метод добавления полученной карточки в коллекцию sortingTravelCards, и последующего удаления ее из коллекции _travelCard.
        /// </summary>
        public void AddAndRemoveMethod(TravelCard tempCard)
        {
            if (tempCard == null)
            {
                throw new ArgumentNullException();
            }

            sortingTravelCards.Add(tempCard);
            _travelCards.Remove(tempCard);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Метод сортировки по уникальному значению Departure.
        /// Карточка, содержащая уникальный Departure, становится первой в коллекции.
        /// </summary>
        public List <TravelCard> FirstDepertureSorting(string uniqueDeparture)
        {
            tempCard = _travelCards.Single(c => c.Departure == uniqueDeparture);
            AddAndRemoveMethod(tempCard);

            for (int i = 0; i < cardsCount - 1; i++)
            {
                tempCard = _travelCards.First(d => d.Departure == sortingTravelCards.Last().Arrival);
                AddAndRemoveMethod(tempCard);
            }

            return(sortingTravelCards);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Метод сортировки замкнутой коллекции карточек путешествия.
        /// </summary>
        public List <TravelCard> ClosetChain()
        {
            tempCard = _travelCards.First();
            AddAndRemoveMethod(tempCard);

            for (int i = 0; i < cardsCount - 1; i++)
            {
                tempCard = _travelCards.First(d => d.Departure == sortingTravelCards.Last().Arrival);
                AddAndRemoveMethod(tempCard);
            }

            return(sortingTravelCards);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Метод сортировки по уникальному значению Arrival.
        /// Карточка, содержащая уникальный Arrival, после метода Reverse() становится последней в коллекции.
        /// </summary>
        public List <TravelCard> LastArrivalSorting(string uniqueArrival)
        {
            tempCard = _travelCards.Single(c => c.Arrival == uniqueArrival);
            AddAndRemoveMethod(tempCard);

            for (int i = 0; i < cardsCount - 1; i++)
            {
                tempCard = _travelCards.First(d => d.Arrival == sortingTravelCards[i].Departure);
                AddAndRemoveMethod(tempCard);
            }

            sortingTravelCards.Reverse();
            return(sortingTravelCards);
        }