Example #1
0
        /// <summary>
        /// Создание информации о пассажире для модификации
        /// </summary>
        /// <param name="oldInfo">Старая информация о пассажире</param>
        /// <returns>Новая информация о пассажире</returns>
        public Traveller CreateTravellerForModify(BookedTraveller oldInfo)
        {
            Traveller res = new Traveller();

            res.Type = oldInfo.Type;
            res.Num  = oldInfo.Num;

            if (ArrAddress != null)
            {
                res.ArrAddress = ArrAddress;
            }

            if (ContactInfo != null)
            {
                res.ContactInfo = ContactInfo.CreateContactForModify(oldInfo.ContactInfo);
            }

            if (DocumentInfo != null)
            {
                res.DocumentInfo = DocumentInfo;
            }

            if (Meal.HasValue)
            {
                res.Meal = Meal.ToString();
            }

            if (PersonalInfo != null)
            {
                res.PersonalInfo = PersonalInfo.CreateTravellerForModify(oldInfo.PersonalInfo);
            }

            if (PreferedPlaces != null && PreferedPlaces.Count > 0)
            {
                res.PreferedPlaces = new List <PreferedPlace>();

                foreach (var place in PreferedPlaces)
                {
                    PreferedPlace newPlace = place.CreatePlaceForModify();

                    if (newPlace != null)
                    {
                        res.PreferedPlaces.Add(newPlace);
                    }
                }
            }

            if (VisaInfo != null)
            {
                res.VisaInfo = VisaInfo;
            }

            return(res);
        }