示例#1
0
        public static AccommodationData Convert(MultilingualAccommodation accommodation, string language)
        {
            var name = accommodation.Name.GetValueOrDefault(language);
            var accommodationAmenities = accommodation.AccommodationAmenities.GetValueOrDefault(language);
            var additionalInfo         = accommodation.AdditionalInfo.GetValueOrDefault(language);
            var category            = accommodation.Category.GetValueOrDefault(language);
            var address             = accommodation.Location.Address.GetValueOrDefault(language);
            var localityName        = accommodation.Location.Locality?.GetValueOrDefault(language);
            var countryName         = accommodation.Location.Country.GetValueOrDefault(language);
            var localityZoneName    = accommodation.Location.LocalityZone?.GetValueOrDefault(language);
            var textualDescriptions = new List <TextualDescription>();

            foreach (var descriptions in accommodation.TextualDescriptions)
            {
                var description = descriptions.Description.GetValueOrDefault(language);
                textualDescriptions.Add(new TextualDescription(AccommodationConverter.GetTextualDescriptionType(descriptions.Type), description));
            }

            return(new AccommodationData {
                Name = name,
                AccommodationAmenities = accommodationAmenities,
                AdditionalInfo = additionalInfo,
                Category = category,
                Contacts = AccommodationConverter.GetContacts(accommodation.Contacts),
                Location = new LocationInfo {
                    CountryCode = accommodation.Location.CountryCode,
                    CountryName = countryName,
                    LocalityName = localityName,
                    LocalityZoneName = localityZoneName,
                    Coordinates = new GeoPoint(accommodation.Location.Coordinates.Longitude, accommodation.Location.Coordinates.Latitude),
                    Address = address,
                    LocationDescriptionCode = AccommodationConverter.GetLocationDescriptionCode(accommodation.Location.LocationDescriptionCode),
                    PointsOfInterests = AccommodationConverter.GetPoiInfos(accommodation.Location.PointsOfInterests),
                    IsHistoricalBuilding = accommodation.Location.IsHistoricalBuilding
                },
                Photos = AccommodationConverter.GetPhotos(accommodation.Photos),
                Rating = AccommodationConverter.GetRating(accommodation.Rating),
                Schedule = AccommodationConverter.GetScheduleInfo(accommodation.Schedule),
                TextualDescriptions = textualDescriptions,
                Type = AccommodationConverter.GetPropertyType(accommodation.Type)
            });
        }
示例#2
0
        public static SlimAccommodationData Convert(int id, MultilingualAccommodation accommodation, bool isActive, string language)
        {
            var name             = accommodation.Name.GetValueOrDefault(language);
            var address          = accommodation.Location.Address.GetValueOrDefault(language);
            var localityName     = accommodation.Location.Locality?.GetValueOrDefault(language);
            var countryName      = accommodation.Location.Country.GetValueOrDefault(language);
            var localityZoneName = accommodation.Location.LocalityZone?.GetValueOrDefault(language);
            var rating           = AccommodationConverter.GetRating(accommodation.Rating);

            return(new SlimAccommodationData
            {
                HtId = HtId.Create(MapperLocationTypes.Accommodation, id),
                Name = name,
                Address = address,
                CountryName = countryName,
                LocalityName = localityName,
                LocalityZoneName = localityZoneName,
                Rating = rating,
                IsActive = isActive
            });
        }