private Comment MapInstagramComment(InstagramComment reader)
        {
            Comment comment = new Comment()
            {
                Id        = reader.Id,
                Username  = reader.Username,
                Text      = reader.Text,
                Timestamp = DataReaderUtils.GetDateTime(reader.Timestamp),
                Likes     = DataReaderUtils.GetInt(reader.Like_count)
            };

            return(comment);
        }
 /// <addInstagramComment>
 /// Add Instagram comment to database
 /// </summary>
 /// <param name="inscomment">Set Values in a InstagramComment Class Property and Pass the same Object of InstagramComment Class.(Domain.InstagramComment)</param>
 public void addInstagramComment(InstagramComment inscomment)
 {
     //Creates a database connection and opens up a session
     using (NHibernate.ISession session = SessionFactory.GetNewSession())
     {
         //After Session creation, start Transaction.
         using (NHibernate.ITransaction transaction = session.BeginTransaction())
         {
             //Proceed action to Save data.
             session.Save(inscomment);
             transaction.Commit();
         } //End Transaction
     }     //End session
 }
        public string getIntagramImages(InstagramAccount objInsAccount)
        {
            InstagramAccountRepository objIns = new InstagramAccountRepository();
            InstagramResponse <GlobusInstagramLib.App.Core.User[]> userinf  = new InstagramResponse <GlobusInstagramLib.App.Core.User[]>();
            InstagramResponse <GlobusInstagramLib.App.Core.User[]> userinf1 = new InstagramResponse <GlobusInstagramLib.App.Core.User[]>();
            InstagramResponse <InstagramMedia[]> userinf2 = new InstagramResponse <InstagramMedia[]>();
            InstagramResponse <Comment[]>        usercmts = new InstagramResponse <Comment[]>();
            MediaController            objMedia           = new MediaController();
            CommentController          objComment         = new CommentController();
            LikesController            objLikes           = new LikesController();
            InstagramFeedRepository    objInsFeedRepo     = new InstagramFeedRepository();
            InstagramFeed              objFeed            = new InstagramFeed();
            InstagramComment           objinsComment      = new InstagramComment();
            InstagramCommentRepository objInsRepo         = new InstagramCommentRepository();
            //  ArrayList aslt = objIns.getAllInstagramAccountsOfUser(instaid);
            string html = string.Empty;
            int    i    = 0;

            // string[] allhtmls = new string[aslt.Count];
            string[] allhtmls      = new string[0];
            int      countofimages = 0;

            GlobusInstagramLib.Instagram.Core.UsersMethods.Users userInstagram = new GlobusInstagramLib.Instagram.Core.UsersMethods.Users();
            try
            {
                userinf2 = userInstagram.UserRecentMedia(objInsAccount.InstagramId, string.Empty, string.Empty, "20", string.Empty, string.Empty, objInsAccount.AccessToken);
            }
            catch (Exception ex) {
                logger.Error(ex.StackTrace);
            }


            if (userinf2 != null)
            {
                for (int j = 0; j < userinf2.data.Count(); j++)
                {
                    try
                    {
                        usercmts = objComment.GetComment(userinf2.data[j].id, objInsAccount.AccessToken);
                        bool liked = false;
                        try
                        {
                            liked = objLikes.LikeToggle(userinf2.data[j].id, objInsAccount.InstagramId, objInsAccount.AccessToken);
                        }
                        catch (Exception ex)
                        {
                            logger.Error(ex.StackTrace);
                        }
                        int n = usercmts.data.Count();
                        for (int cmt = usercmts.data.Count() - 1; cmt > usercmts.data.Count() - 3; cmt--)
                        {
                            try
                            {
                                objinsComment.Comment        = usercmts.data[cmt].text;
                                objinsComment.CommentDate    = usercmts.data[cmt].created_time.ToString();
                                objinsComment.CommentId      = usercmts.data[cmt].id;
                                objinsComment.EntryDate      = DateTime.Now.ToString();
                                objinsComment.FeedId         = userinf2.data[j].id;
                                objinsComment.Id             = Guid.NewGuid();
                                objinsComment.InstagramId    = objInsAccount.InstagramId;
                                objinsComment.UserId         = objInsAccount.UserId;
                                objinsComment.FromName       = usercmts.data[cmt].from.full_name;
                                objinsComment.FromProfilePic = usercmts.data[cmt].from.profile_picture;
                                if (!objInsRepo.checkInstagramCommentExists(usercmts.data[cmt].id, objInsAccount.UserId))
                                {
                                    objInsRepo.addInstagramComment(objinsComment);
                                }
                            }
                            catch (Exception ex)
                            {
                                logger.Error(ex.StackTrace);
                                Console.WriteLine(ex.StackTrace);
                            }
                        }
                        objFeed.EntryDate    = DateTime.Now;
                        objFeed.FeedDate     = userinf2.data[j].created_time.ToString();
                        objFeed.FeedId       = userinf2.data[j].id;
                        objFeed.FeedImageUrl = userinf2.data[j].images.low_resolution.url.ToString();
                        objFeed.InstagramId  = objInsAccount.InstagramId;
                        objFeed.LikeCount    = userinf2.data[j].likes.count;
                        objFeed.UserId       = objInsAccount.UserId;
                        if (!objInsFeedRepo.checkInstagramFeedExists(userinf2.data[j].id, objInsAccount.UserId))
                        {
                            objInsFeedRepo.addInstagramFeed(objFeed);
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.Error(ex.StackTrace);
                    }
                    i++;
                }
            }
            i++;


            string totalhtml = string.Empty;

            try
            {
                for (int k = 0; k < countofimages; k++)
                {
                    totalhtml = totalhtml + allhtmls[k];
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.StackTrace);
            }
            Session["AllHtmls"] = allhtmls;
            return(totalhtml);
        }
예제 #4
0
        public void getIntagramImages(object instaId)
        {
            Guid instaid = (Guid)instaId;

            InstagramAccountRepository objIns = new InstagramAccountRepository();
            InstagramResponse <GlobusInstagramLib.App.Core.User[]> userinf  = new InstagramResponse <GlobusInstagramLib.App.Core.User[]>();
            InstagramResponse <GlobusInstagramLib.App.Core.User[]> userinf1 = new InstagramResponse <GlobusInstagramLib.App.Core.User[]>();
            InstagramResponse <InstagramMedia[]> userinf2 = new InstagramResponse <InstagramMedia[]>();
            InstagramResponse <Comment[]>        usercmts = new InstagramResponse <Comment[]>();
            MediaController            objMedia           = new MediaController();
            CommentController          objComment         = new CommentController();
            LikesController            objLikes           = new LikesController();
            InstagramFeedRepository    objInsFeedRepo     = new InstagramFeedRepository();
            InstagramFeed              objFeed            = new InstagramFeed();
            InstagramComment           objinsComment      = new InstagramComment();
            InstagramCommentRepository objInsRepo         = new InstagramCommentRepository();

            GlobusInstagramLib.Authentication.ConfigurationIns configi = new GlobusInstagramLib.Authentication.ConfigurationIns("https://api.instagram.com/oauth/authorize/", ConfigurationManager.AppSettings["InstagramClientKey"].ToString(), ConfigurationManager.AppSettings["InstagramClientSec"].ToString(), ConfigurationManager.AppSettings["InstagramCallBackURL"].ToString(), "http://api.instagram.com/oauth/access_token", "https://api.instagram.com/v1/", "");
            oAuthInstagram _api = oAuthInstagram.GetInstance(configi);
            ArrayList      aslt = objIns.getAllInstagramAccountsOfUser(instaid);
            string         html = string.Empty;
            int            i    = 0;

            // string[] allhtmls = new string[aslt.Count];
            string[] allhtmls      = new string[0];
            int      countofimages = 0;

            foreach (InstagramAccount item in aslt)
            {
                try
                {
                    GlobusInstagramLib.Instagram.Core.UsersMethods.Users userInstagram = new GlobusInstagramLib.Instagram.Core.UsersMethods.Users();
                    try
                    {
                        userinf2 = userInstagram.UserRecentMedia(item.InstagramId, string.Empty, string.Empty, "20", string.Empty, string.Empty, item.AccessToken);
                    }
                    catch { }
                }
                catch { }



                if (userinf2 != null)
                {
                    for (int j = 0; j < userinf2.data.Count(); j++)
                    {
                        try
                        {
                            usercmts = objComment.GetComment(userinf2.data[j].id, item.AccessToken);
                            bool liked = false;
                            try
                            {
                                liked = objLikes.LikeToggle(userinf2.data[j].id, item.InstagramId, item.AccessToken);
                            }
                            catch
                            {
                            }
                            int n = usercmts.data.Count();
                            for (int cmt = 0; cmt < usercmts.data.Count(); cmt++)
                            {
                                objinsComment.Comment        = usercmts.data[cmt].text;
                                objinsComment.CommentDate    = usercmts.data[cmt].created_time.ToString();
                                objinsComment.CommentId      = usercmts.data[cmt].id;
                                objinsComment.EntryDate      = DateTime.Now.ToString();
                                objinsComment.FeedId         = userinf2.data[j].id;
                                objinsComment.Id             = Guid.NewGuid();
                                objinsComment.InstagramId    = item.InstagramId;
                                objinsComment.UserId         = item.UserId;
                                objinsComment.FromName       = usercmts.data[cmt].from.full_name;
                                objinsComment.FromProfilePic = usercmts.data[cmt].from.profile_picture;
                                if (!objInsRepo.checkInstagramCommentExists(usercmts.data[cmt].id, item.UserId))
                                {
                                    objInsRepo.addInstagramComment(objinsComment);
                                }
                            }
                            objFeed.EntryDate    = DateTime.Now;
                            objFeed.FeedDate     = userinf2.data[j].created_time.ToString();
                            objFeed.FeedId       = userinf2.data[j].id;
                            objFeed.FeedImageUrl = userinf2.data[j].images.low_resolution.url.ToString();
                            objFeed.InstagramId  = item.InstagramId;
                            objFeed.LikeCount    = userinf2.data[j].likes.count;
                            objFeed.UserId       = item.UserId;
                            if (!objInsFeedRepo.checkInstagramFeedExists(userinf2.data[j].id, item.UserId))
                            {
                                objInsFeedRepo.addInstagramFeed(objFeed);
                            }
                        }
                        catch
                        {
                        }
                        i++;
                    }
                }
                i++;
                //     allhtmls[countofimages] = html;
                html = string.Empty;
                countofimages++;
                break;
            }
            string totalhtml = string.Empty;

            try
            {
                for (int k = 0; k < countofimages; k++)
                {
                    totalhtml = totalhtml + allhtmls[k];
                }
            }
            catch
            {
            }
        }
 public int updateInstagramComment(InstagramComment inscomment)
 {
     throw new NotImplementedException();
 }
        private static void GetParseInstagramSelfFeeds(string instagramId, string accessToken)
        {
            var instagramFeedRepo = new MongoRepository("InstagramFeed");

            try
            {
                var _Media     = new Media();
                var usercmts   = new InstagramResponse <Comment[]>();
                var objComment = new CommentController();

                string feeds = _Media.UserResentFeeds(instagramId, accessToken);
                if (feeds != null)
                {
                    apiHitsCount++;
                    JObject feed_data = JObject.Parse(feeds);

                    foreach (var item in feed_data["data"])
                    {
                        try
                        {
                            var objInstagramFeed = new InstagramFeed();

                            objInstagramFeed.FeedDate = Convert.ToDouble(item.SelectToken("created_time")?.ToString() ?? "0");
                            objInstagramFeed.FeedId   = item.SelectToken("id")?.ToString();
                            objInstagramFeed.Type     = item.SelectToken("type")?.ToString();
                            if (objInstagramFeed.Type == "video")
                            {
                                objInstagramFeed.VideoUrl = item.SelectToken("videos.standard_resolution.url")?.ToString();
                            }
                            objInstagramFeed.FeedImageUrl = item.SelectToken("images.standard_resolution.url")?.ToString();
                            objInstagramFeed.InstagramId  = instagramId;
                            objInstagramFeed.LikeCount    = Int32.Parse(item.SelectToken("likes.count")?.ToString() ?? "0");
                            objInstagramFeed.CommentCount = Int32.Parse(item.SelectToken("comments.count")?.ToString() ?? "0");
                            string str = item.SelectToken("user_has_liked")?.ToString();
                            if (str.ToLower() == "false")
                            {
                                objInstagramFeed.IsLike = 0;
                            }
                            else
                            {
                                objInstagramFeed.IsLike = 1;
                            }
                            objInstagramFeed.AdminUser = item.SelectToken("user.username")?.ToString();
                            objInstagramFeed.Feed      = item.SelectToken("caption.text")?.ToString();
                            objInstagramFeed.ImageUrl  = item.SelectToken("user.profile_picture")?.ToString();
                            objInstagramFeed.FromId    = item.SelectToken("user.id")?.ToString();
                            objInstagramFeed.FeedUrl   = item.SelectToken("link")?.ToString();


                            var lstInstagramComment = new List <InstagramComment>();
                            usercmts = objComment.GetComment(objInstagramFeed.FeedId, accessToken);

                            for (int cmt = 0; cmt < usercmts.data.Count(); cmt++)
                            {
                                try
                                {
                                    var objInstagramComment = new InstagramComment();

                                    objInstagramComment.Comment        = usercmts?.data[cmt]?.text ?? "0";
                                    objInstagramComment.CommentDate    = Convert.ToDouble(usercmts?.data[cmt]?.created_time.ToString() ?? "0");
                                    objInstagramComment.CommentId      = usercmts?.data[cmt]?.id ?? "";
                                    objInstagramComment.FeedId         = objInstagramFeed?.FeedId ?? "";
                                    objInstagramComment.InstagramId    = instagramId;
                                    objInstagramComment.FromName       = usercmts?.data[cmt]?.from?.username ?? "";
                                    objInstagramComment.FromProfilePic = usercmts?.data[cmt]?.from?.profile_picture ?? "";

                                    lstInstagramComment.Add(objInstagramComment);
                                }
                                catch (Exception ex)
                                {
                                }
                            }
                            objInstagramFeed._InstagramComment = lstInstagramComment;
                            var ret  = instagramFeedRepo.Find <InstagramFeed>(t => t.FeedId.Equals(objInstagramFeed.FeedId) && t.InstagramId.Equals(objInstagramFeed.InstagramId));
                            var task = Task.Run(async() =>
                            {
                                return(await ret);
                            });
                            int count = task.Result.Count;

                            if (count < 1)
                            {
                                instagramFeedRepo.Add(objInstagramFeed);
                            }
                            else
                            {
                                var filter = new BsonDocument("FeedId", objInstagramFeed.FeedId);
                                var update = Builders <BsonDocument> .Update.Set("IsLike", objInstagramFeed.IsLike).Set("CommentCount", objInstagramFeed.CommentCount).Set("LikeCount", objInstagramFeed.LikeCount).Set("Type", objInstagramFeed.Type).Set("VideoUrl", objInstagramFeed.VideoUrl).Set("_InstagramComment", objInstagramFeed._InstagramComment);

                                instagramFeedRepo.Update <InstagramFeed>(update, filter);
                            }
                        }
                        catch (Exception ex)
                        {
                            apiHitsCount = MaxapiHitsCount;
                        }
                    }
                }
                else
                {
                    apiHitsCount = MaxapiHitsCount;
                }
            }
            catch (Exception ex)
            {
                apiHitsCount = MaxapiHitsCount;
            }
        }