public PartialFindResult <VenueForApiContract> GetList( string query = "", VenueOptionalFields fields = VenueOptionalFields.None, int start = 0, int maxResults = defaultMax, bool getTotalCount = false, NameMatchMode nameMatchMode = NameMatchMode.Auto, ContentLanguagePreference lang = ContentLanguagePreference.Default, VenueSortRule sortRule = VenueSortRule.Name, double?latitude = null, double?longitude = null, double?radius = null, DistanceUnit distanceUnit = DistanceUnit.Kilometers) { var textQuery = SearchTextQuery.Create(query, nameMatchMode); var queryParams = new VenueQueryParams { Coordinates = new GeoPointQueryParams(latitude, longitude), DistanceUnit = distanceUnit, Paging = new PagingProperties(start, maxResults, getTotalCount), Radius = radius, SortRule = sortRule, TextQuery = textQuery }; return(queries.Find(v => new VenueForApiContract(v, lang, fields), queryParams)); }
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(); } }