예제 #1
0
    private void handleFacebookUser(string sessionKey, string userId)
    {
        log.Debug("Handling facebook user", userId);

        facebookApi = new FacebookAPI();

        facebookApi.IsDesktopApplication = false;
        facebookApi.ApplicationKey       = apikey;
        facebookApi.Secret = apisecret;

        facebookApi.SessionKey = sessionKey;
        facebookApi.UserId     = userId;

        facebookApi.ConnectToFacebook();

        FacebookId = facebookApi.GetLoggedInUser();
        Collection <Facebook.Entity.User> fb_users = facebookApi.GetUserInfo(facebook_id);

        log.Debug("Got Facebook users fb_users", fb_users);
        fb_user = fb_users[0];
        log.Debug("Facebook user fb_user", fb_user);

        IRecordList <DreamFolk> dreamFolk = DataProvider.LoadList <DreamFolk>(new FilterInfo("FacebookId", FacebookId));

        log.Debug("Got dreamFolk folk with FacebookId", FacebookId, dreamFolk);

        DreamFolk dreamPerson = null;

        if (dreamFolk.Count > 0)
        {
            dreamPerson = dreamFolk[0];
        }

        if (dreamPerson == null)
        {
            log.Warn("Creating new dreamPerson from Main.Current");
            dreamPerson = new DreamFolk(Main.Current.FbUser);
            dreamPerson.Save(true);
        }

        /*
         * else if ( dreamPerson.Birthday != Main.Current.FbUser.Birthday )
         * {
         *      log.Warn("Updating birthday dreamPerson from Main.Current");
         *      dreamPerson.Birthday = (DateTime)Main.Current.FbUser.Birthday;
         *      dreamPerson.Save(true);
         * }
         * else if ( !dreamPerson.Updated )
         */
        else
        {
            log.Warn("Updating dreamPerson");
            dreamPerson.update(fb_user);
            dreamPerson.Updated = true;
            dreamPerson.Save(true);
        }

        CurrentDreamFriend = dreamPerson;
        Now.Friends        = CurrentDreamFriend.Friends;
    }
예제 #2
0
        public void Evaluate(int SpreadMax)
        {
            if (this.FPinInUsers.PinIsChanged)
            {
                Collection <string> ids = new Collection <string>();
                for (int i = 0; i < this.FPinInUsers.SliceCount; i++)
                {
                    string id;
                    this.FPinInUsers.GetString(i, out id);
                    ids.Add(id);
                }

                Collection <User> users = api.GetUserInfo(ids);
                this.FPinOutFirstName.SliceCount = users.Count;
                this.FPinOutSurname.SliceCount   = users.Count;
                this.FPinOutPicture.SliceCount   = users.Count;
                this.FPinOutGender.SliceCount    = users.Count;
                this.FPinOutInterests.SliceCount = users.Count;

                string tmp = Path.GetTempPath();

                for (int i = 0; i < users.Count; i++)
                {
                    this.FPinOutFirstName.SetString(i, users[i].FirstName);
                    this.FPinOutSurname.SetString(i, users[i].LastName);
                    this.FPinOutPicture.SetString(i, users[i].PictureUrl.AbsoluteUri);

                    if (users[i].Status != null)
                    {
                        this.FPinOutStatus.SetString(i, users[i].Status.Message);
                    }
                    else
                    {
                        this.FPinOutStatus.SetString(i, "");
                    }

                    this.FPinOutGender.SetString(i, users[i].Sex.ToString());
                    this.FPinOutInterests.SetString(i, users[i].Interests);

                    if (users[i].Birthday.HasValue)
                    {
                        this.FPinOutBirthday.SetString(i, users[i].Birthday.Value.ToShortDateString());
                    }
                    else
                    {
                        this.FPinOutBirthday.SetString(i, "");
                    }
                }
            }
        }
예제 #3
0
    private void handleFacebookUser(string sessionKey, string userId )
    {
        log.Debug("Handling facebook user",userId);

            facebookApi = new FacebookAPI();

            facebookApi.IsDesktopApplication = false;
            facebookApi.ApplicationKey = apikey;
            facebookApi.Secret = apisecret;

            facebookApi.SessionKey = sessionKey;
            facebookApi.UserId = userId;

            facebookApi.ConnectToFacebook();

            FacebookId = facebookApi.GetLoggedInUser();
            Collection<Facebook.Entity.User> fb_users = facebookApi.GetUserInfo(facebook_id);
            log.Debug("Got Facebook users fb_users",fb_users);
            fb_user = fb_users[0];
            log.Debug("Facebook user fb_user",fb_user);

            IRecordList<DreamFolk> dreamFolk = DataProvider.LoadList<DreamFolk>(new FilterInfo("FacebookId",FacebookId));
            log.Debug("Got dreamFolk folk with FacebookId",FacebookId,dreamFolk);

            DreamFolk dreamPerson = null;
            if ( dreamFolk.Count > 0 ) dreamPerson = dreamFolk[0];

            if ( dreamPerson == null )
            {
                log.Warn("Creating new dreamPerson from Main.Current");
                dreamPerson = new DreamFolk(Main.Current.FbUser);
                dreamPerson.Save(true);
            }
            /*
            else if ( dreamPerson.Birthday != Main.Current.FbUser.Birthday )
            {
                log.Warn("Updating birthday dreamPerson from Main.Current");
                dreamPerson.Birthday = (DateTime)Main.Current.FbUser.Birthday;
                dreamPerson.Save(true);
            }
            else if ( !dreamPerson.Updated )
            */
            else
            {
                log.Warn("Updating dreamPerson");
                dreamPerson.update(fb_user);
                dreamPerson.Updated = true;
                dreamPerson.Save(true);
            }

            CurrentDreamFriend = dreamPerson;
            Now.Friends = CurrentDreamFriend.Friends;
    }