public ArchivedVenueContract(Venue venue, VenueDiff diff) { ParamIs.NotNull(() => venue); Address = venue.Address; AddressCountryCode = venue.AddressCountryCode; Coordinates = new OptionalGeoPointContract(venue.Coordinates); Description = venue.Description; Id = venue.Id; Names = diff.IncludeNames ? venue.Names.Names.Select(n => new LocalizedStringContract(n)).ToArray() : null; TranslatedName = new ArchivedTranslatedStringContract(venue.TranslatedName); WebLinks = diff.IncludeWebLinks ? venue.WebLinks.Links.Select(l => new ArchivedWebLinkContract(l)).ToArray() : null; }
public VenueContract(Venue venue, ContentLanguagePreference languagePreference, bool includeLinks = false) { ParamIs.NotNull(() => venue); AdditionalNames = venue.Names.GetAdditionalNamesStringForLanguage(languagePreference); Address = venue.Address; AddressCountryCode = venue.AddressCountryCode; Coordinates = new OptionalGeoPointContract(venue.Coordinates); Deleted = venue.Deleted; Description = venue.Description; Id = venue.Id; Name = venue.TranslatedName[languagePreference]; Status = venue.Status; Version = venue.Version; if (includeLinks) { WebLinks = venue.WebLinks.Links.Select(w => new WebLinkContract(w)).OrderBy(w => w.DescriptionOrUrl).ToArray(); } }
public VenueForApiContract(Venue venue, ContentLanguagePreference languagePreference, VenueOptionalFields fields) { ParamIs.NotNull(() => venue); Id = venue.Id; Address = venue.Address; AddressCountryCode = venue.AddressCountryCode; Coordinates = new OptionalGeoPointContract(venue.Coordinates); Deleted = venue.Deleted; Name = venue.TranslatedName[languagePreference]; Status = venue.Status; Version = venue.Version; if (fields.HasFlag(VenueOptionalFields.AdditionalNames)) { AdditionalNames = venue.Names.GetAdditionalNamesStringForLanguage(languagePreference); } if (fields.HasFlag(VenueOptionalFields.Description)) { Description = venue.Description; } if (fields.HasFlag(VenueOptionalFields.Events)) { Events = venue.Events.OrderBy(e => e.SeriesNumber).ThenBy(e => e.Date.DateTime).Select(e => new ReleaseEventContract(e, languagePreference)).ToArray(); } if (fields.HasFlag(VenueOptionalFields.Names)) { Names = venue.Names.Select(n => new LocalizedStringContract(n)).ToArray(); } if (fields.HasFlag(VenueOptionalFields.WebLinks)) { WebLinks = venue.WebLinks.Links.Select(w => new WebLinkForApiContract(w, WebLinkOptionalFields.DescriptionOrUrl)).ToArray(); } }
public EmbedGoogleMapsViewModel(OptionalGeoPointContract coordinates) { Coordinates = coordinates; }