Пример #1
0
 public Models.UserProfile GetValues(Models.User.GetUserDetails userObj)
 {
     try
     {
         Models.UserProfile obUser = new Models.UserProfile();                     //we create an instance of user profile
         Models.User.GetUserDetails.auth_verifier = userObj.auth_verifierInstance; //get the auth_verifier from url
         Flickr            f            = Models.FlickrManager.GetInstance();
         OAuthRequestToken requestToken = Authentication.FullToken as OAuthRequestToken;
         //apelez metoda pentru a prelua datele asociate userului conectat
         OAuthAccessToken accessToken = f.OAuthGetAccessToken(requestToken, Models.User.GetUserDetails.auth_verifier);
         //  Models.UpdateComments.Update(f);
         if (!Models.User.FlickerObj.UserFl.ContainsKey(accessToken.UserId))
         {
             Models.User.FlickerObj.UserFl.Add(accessToken.UserId, f);
         }
         try
         {
             var result = (from t in db.users
                           where t.UserId == accessToken.UserId select t).SingleOrDefault();
             if (result == null) // nu exista in DB? Insert user in DB
             {
                 //var userProfile = f.PeopleFindByUserName(accessToken.Username);//iau datele dupa username
                 obUser.userId   = accessToken.UserId;
                 obUser.userName = accessToken.Username.ToString();
                 obUser.fullName = accessToken.FullName;
                 user newUser = new user()
                 {
                     UserId    = accessToken.UserId,
                     UserName  = obUser.userName,
                     Full_Name = obUser.fullName
                 };
                 db.users.Add(newUser);
                 db.SaveChanges();
                 f = null;
                 return(obUser);
             }
             else //daca exista in DB, preiau datele si le returnez
             {
                 var ob = db.users.Where(idx => idx.UserId == accessToken.UserId).First();
                 obUser.userId   = ob.UserId;
                 obUser.userName = ob.UserName.ToString();
                 obUser.fullName = ob.Full_Name;
                 f = null;
                 return(obUser);
             }
         }
         catch (Exception) {
             var ob = db.users.Where(idx => idx.UserId == accessToken.UserId).First();
             obUser.userId   = ob.UserId;
             obUser.userName = ob.UserName.ToString();
             obUser.fullName = ob.Full_Name;
             f = null;
             return(obUser);
         }
     }
     catch (Exception) { return(null); }
 }
Пример #2
0
        public static void Update(Flickr f)
        {
            Debug.WriteLine("Start Update the comments...");
            Dictionary <string, string> listusers = new Dictionary <string, string>();

            Back_F.flickr_tablesEntities db = new flickr_tablesEntities();
            var             users           = db.users.ToList();
            var             friends         = db.friends.ToList();
            PhotoCollection photos          = null;

            foreach (var item in users)
            {
                listusers.Add(item.UserId, "user");
            }
            foreach (var item in friends)
            {
                if (!listusers.ContainsKey(item.IdFriend))
                {
                    listusers.Add(item.IdFriend, "friend");
                }
                Debug.WriteLine("All the users from DB retreived...");
            }

            foreach (var item in listusers)
            {
                photos = f.PeopleGetPhotos(item.Key);
                foreach (var itemP in photos)
                {
                    var comments = f.PhotosCommentsGetList(itemP.PhotoId);
                    foreach (var comment in comments)
                    {
                        commentsuser comm = new commentsuser()
                        {
                            CommentatorId = comment.AuthorUserId.ToString(),
                            UserId        = item.Key.ToString(),
                            Comment       = "",
                            PhotoId       = itemP.PhotoId.ToString()
                        };
                        db.commentsusers.Add(comm);
                        Debug.WriteLine("Comment added in DB...");
                    }
                }
            }
            db.SaveChanges();
            Debug.WriteLine("Comment added in DB...");
        }
        public FlickrNet.ContactCollection GetFriends(string userId)
        {
            linkfriend ob = null;

            try
            {
                try
                {
                    ob = (from t in db.linkfriends
                          where t.IdUser == userId
                          select t).FirstOrDefault();
                }
                catch (Exception) { ob = null; }
                if (ob == null)//inseamna ca nu am prietenii inca adaugati in DB
                {
                    if (Models.User.FlickerObj.UserFl.ContainsKey(userId))
                    {
                        Flickr f = Models.User.FlickerObj.UserFl[userId];
                        FlickrNet.ContactCollection friends = f.ContactsGetPublicList(userId);//preiau din FLICKR
                        string realName = ""; string description = "";
                        foreach (var item in friends)
                        {
                            var person = f.PeopleGetInfo(item.UserId);
                            if (person.RealName != null)
                            {
                                realName = person.RealName;
                            }
                            else
                            {
                                realName = "";
                            }
                            if (person.Description.Length > 50)
                            {
                                description = Models.StringTool.Truncate(person.Description, 50) + "...";
                            }
                            else
                            {
                                description = person.Description;
                            }

                            item.PathAlias = item.BuddyIconUrl;
                            friend fr = new friend //adaug in DB
                            {
                                FullName    = realName,
                                IdFriend    = item.UserId,
                                UserName    = item.UserName,
                                PhotoUrl    = item.BuddyIconUrl,
                                Description = description
                            };
                            linkfriend link = new linkfriend
                            {
                                IdUser   = userId,
                                IdFriend = item.UserId
                            };
                            try
                            {
                                db.friends.Add(fr);
                                db.linkfriends.Add(link);
                            }
                            catch (Exception)
                            {
                            }
                        }
                        db.SaveChanges();
                        Models.ListOfFriends.coll = friends;
                        return(friends);
                    }
                    else //inseamna ca exista prieteni
                    {
                        ContactCollection coll = new ContactCollection();
                        Contact           con  = new Contact();
                        var friends            = db.linkfriends.Where(idx => idx.IdUser == userId).ToList();//preiau din DB
                        foreach (var item in friends)
                        {
                            var people = db.friends.Where(idx => idx.IdFriend == item.IdFriend).FirstOrDefault();
                            con.UserId     = people.IdFriend;
                            con.RealName   = people.FullName;
                            con.UserName   = people.UserName;
                            con.PathAlias  = people.PhotoUrl;
                            con.IconServer = people.Description;//we use some variable already existent so we not create another model
                            coll.Add(con);
                        }
                        return(coll);
                    }
                }
                else
                {
                    ContactCollection coll = new ContactCollection();
                    var friends            = db.linkfriends.Where(idx => idx.IdUser == userId).ToList();
                    foreach (var item in friends)
                    {
                        Contact con    = new Contact();
                        var     people = db.friends.Where(idx => idx.IdFriend == item.IdFriend).FirstOrDefault();
                        con.UserId     = people.IdFriend;
                        con.RealName   = people.FullName;
                        con.UserName   = people.UserName;
                        con.PathAlias  = people.PhotoUrl;
                        con.IconServer = people.Description;
                        coll.Add(con);
                    }
                    return(coll);
                }
            }
            catch (Exception)
            {
                db.Dispose();
                return(null);
            }
        }