Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Foursquare.Initialize(ConfigurationManager.AppSettings["FoursquareConsumerKey"], ConfigurationManager.AppSettings["FoursquareConsumerSecret"]);

            if (Session["accessToken"] != null)
            {
                System.Net.WebClient client = new System.Net.WebClient();
                var jsonResult = client.DownloadString("https://api.foursquare.com/v2/users/self?oauth_token=" + Session["accessToken"]);
                var result = Json.Decode(jsonResult);

                DatabaseDataContext db = new DatabaseDataContext();

                var userid = (string)result.response.user.id;

                var count = (from r in db.Users where r.FoursquareUserID == userid select r).Count();
                if (count == 0)
                {
                    User u = new User();

                    u.FoursquareUserID = (string)result.response.user.id;
                    u.FoursquareAccessToken = (string)Session["accessToken"];
                    u.FirstName = result.response.user.firstName != null ? (string)result.response.user.firstName : "";
                    u.LastName = result.response.user.lastName != null ? (string)result.response.user.lastName : "";
                    u.PhoneNumber = result.response.user.contact.phone != null ? (string)result.response.user.contact.phone : "0";
                    u.AgencyID = (string)Session["TRANSIT_AGENCY"];
                    u.LastCheckinID = (string)result.response.user.checkins.items[0].id;
                    u.IsEnabled = true;
                    u.CreatedDate = DateTime.UtcNow;

                    db.Users.InsertOnSubmit(u);

                    this.ddWelcomeMessage.Text = string.Format("Welcome to 4sqtransit, {0}!</b><br /><br />\n", u.FirstName);
                }
                else
                {
                    User u = db.Users.Single(r => r.FoursquareUserID == userid);

                    u.FoursquareAccessToken = (string)Session["accessToken"];
                    u.PhoneNumber = result.response.user.contact.phone != null ? (string)result.response.user.contact.phone : "0";
                    u.AgencyID = (string)Session["TRANSIT_AGENCY"];
                    u.IsEnabled = true;

                    this.ddWelcomeMessage.Text = string.Format("<b>Hello, {0}. Welcome back!</b><br /><br />\n", u.FirstName);
                }

                this.ddVenueName.Text = result.response.user.checkins.items[0].venue.name;
                this.ddTransitAgency.Text = Session["TRANSIT_AGENCY_NAME"].ToString();

                if (result.response.user.contact.phone != null)
                {
                    this.ddPhoneMessage.Text = string.Format("Text messages will be sent to <b>{0}-{1}-{2}</b>. You can change this number at any time on Foursquare.\n", result.response.user.contact.phone.Substring(0, 3), result.response.user.contact.phone.Substring(3, 3), result.response.user.contact.phone.Substring(6, 4));
                }
                else
                {
                    this.ddPhoneMessage.Text = string.Format("You do not have a phone number associated with your Foursquare account. You will not receive text messages until you add a phone number on Foursquare.\n");
                }

                this.uxMapViewer.Text = string.Format("<img alt='bingMap' src='http://dev.virtualearth.net/REST/v1/Imagery/Map/road/{0},{1}/15?mapSize=492,250&pushpin={0},{1};34&mapVersion=v1&key={2}'></img>", result.response.user.checkins.items[0].venue.location.lat, result.response.user.checkins.items[0].venue.location.lng, ConfigurationManager.AppSettings["BingMapsKey"]);

                db.SubmitChanges();

                this.ddUnsubscribe.NavigateUrl = string.Format("/unsubscribe.aspx?id={0}", result.response.user.id);
            }
            else
            {
                var link = Foursquare.GetAuthorizationUrl(Page.ResolveUrl("~/authorize.aspx"));
                Response.Redirect(link);
            }
        }
Exemplo n.º 2
0
 partial void UpdateUser(User instance);
Exemplo n.º 3
0
 partial void DeleteUser(User instance);
Exemplo n.º 4
0
 partial void InsertUser(User instance);