// GET: /places/venue/id public ActionResult Venue(int id, bool isInIFrame = false) { BybUrlHelper.IsInIFrame = isInIFrame; var venue = new VenuesLogic(db).Get(id); return(View(venue)); }
public IEnumerable <VenueWebModel> FindSnooker(double?latitude, double?longitude, string searchQuery, bool requireSnookerTables, bool require12ftSnookerTables) { Location location = null; if (latitude != null && longitude != null) { location = new Location(latitude.Value, longitude.Value); } List <VenueWebModel> venues = new VenuesLogic(db).FindVenues(location, true, searchQuery, true, requireSnookerTables, require12ftSnookerTables); return(venues); }
public FindVenuesWebModel FindSnooker2(int radiusInMeters, string country, int maxCount, string searchQuery = "", double?latitude = null, double?longitude = null) { Location location = null; if (latitude != null && longitude != null) { location = new Location(latitude.Value, longitude.Value); } Country countryObj = Country.Get(country); // load venues var loadedVenues = new VenuesLogic(db).FindVenues2(location, radiusInMeters, countryObj, searchQuery, true); int allVenuesCount = loadedVenues.Count; // keep up to maxCount venues List <VenueWebModel> venues; if (allVenuesCount <= maxCount) { venues = loadedVenues; } else { venues = new List <VenueWebModel>(); Random random = new Random(); for (int i = 0; i < maxCount; ++i) { int index = random.Next(loadedVenues.Count - 1); venues.Add(loadedVenues[index]); loadedVenues.RemoveAt(index); } } FindVenuesWebModel model = new FindVenuesWebModel(); model.Venues = venues; if (location != null) { model.ClosestMetro = new MetrosLogic(db).GetClosestMetro(location); } model.TotalCountAvailable = allVenuesCount; return(model); }
public int Post([FromBody] VenueWebModel venue) { var athlete = new UserProfileLogic(db).GetAthleteForUserName(User.Identity.Name); var metros = new MetrosLogic(db).GetMetrosAround(venue.Location); if (metros.Count == 0) { throw new Exception("No metros around this location: " + venue.Location.ToString()); } var metro = metros[0]; venue.MetroID = metro.ID; venue.Country = metro.Country; Venue venueToCreate = venue.ToVenue(); Venue createdVenue = new VenuesLogic(db).RegisterVenue(venueToCreate, athlete.AthleteID); return(createdVenue.VenueID); }