예제 #1
0
 public void FillNV(string token)
 {
     InitializeOauth(token);
     NearbyVenues = new List <FoursquareOAuth.Venue>();
     try
     {
         //TODO add parameters
         List <String> NearbyVenuesIds = foursquareOAuth.GetNearbyVenues(1000);
         foreach (var nearbyVenuesId in NearbyVenuesIds)
         {
             NearbyVenues.Add(foursquareOAuth.GetVenuesInfo(nearbyVenuesId));
         }
     }
     catch (Exception e)
     {
         NearbyVenues = new List <FoursquareOAuth.Venue>();
     }
 }
예제 #2
0
        public ActionResult NearbyVenues(int maxRadius)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "FoursquareLogin"));
            }

            FoursquareUserContext foursquareUserContext = new FoursquareUserContext();
            //TODO maybe change to premium warning notification
            int userId = Convert.ToInt32(User.Identity.Name);
            FoursquareUserModel user =
                foursquareUserContext.FoursquareUsers.
                First(x => x.FoursquareUserId == userId);

            int premiumRadius = Convert.ToInt32(ConfigurationManager.AppSettings["PremiumRadius"]);

            if (!user.IsPremium && premiumRadius < maxRadius)
            {
                maxRadius = premiumRadius;
            }

            string token = GetCurrentUserToken();

            logger.Debug("Got token " + token);
            Logic.FoursquareOAuth FSQOAuth = new FoursquareOAuth(token);



            List <string> res = FSQOAuth.GetNearbyVenues(maxRadius);


            logger.Debug("Got venues " + res.Count);
            List <FoursquareOAuth.Venue> venues = new List <FoursquareOAuth.Venue>();

            if (res.Count == 0)
            {
                ViewBag.venues = null;
                return(View());
            }
            try
            {
                foreach (var re in res)
                {
                    venues.Add(FSQOAuth.GetVenuesInfo(re));
                }
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }
            logger.Debug("Got venues info");
            ViewBag.venues = venues;
            return(View());
        }