public TripChain(TripCard initCard, int capacity) { _chain = new List <TripCard>(capacity); _chain.Add(initCard); _startCity = initCard.From; _endCity = initCard.To; }
/// <summary> /// Добавляет карточку путешествия к цепочке, если её пункт назначения или отправления соответствует текущему состоянию /// </summary> /// <param name="card">Карточка путешествия</param> /// <returns>Возвращает <c>true</c>, если карточка добавлена, в противном случае - <c>false</c></returns> public bool Add(TripCard card) { if (_startCity.Equals(card.To)) { //Добавляем карточку в начало _chain.Insert(0, card); _startCity = card.From; } else if (_endCity.Equals(card.From)) { //добавляем карточку в конец _chain.Add(card); _endCity = card.To; } else { return(false); } return(true); }