Ejemplo n.º 1
0
        // 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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }